ubuntu环境下docker安装步骤
2018-03-17 00:49
691 查看
本文是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/
Docker 支持以下 Ubuntu 系统:Ubuntu Xenial 16.04 (LTS)Ubuntu Wily 15.10
Ubuntu Trusty 14.04 (LTS)
Ubuntu Precise 12.04 (LTS)
本页内容指引你安装使用由Docker管理的正式包和管理包. 使用这些安装包能确保你安装 Docker最新发行包. 如果你想安装并使用Ubuntu管理提供的软件包, 参照Ubuntu文档.备注: Ubuntu Utopic 14.10 和 15.04 依旧在 Docker’s
APT仓库中,但不再提供官方技术支持.
前提条件
Docker要求是64位Ubuntu(无论哪个版本)。另外,内核必须在最小为3.10。3.10最新版本或更新的版本也行。3.10之前版本缺少docker运行所需要的特征一些容器。这些老版本的bug,经常导致数据损失。使用命令:uname -r来显示内核版本:
$ uname -r 3.11.0-15-generic备注: 如果你之前安装过Docker 使用的
APT, 确保升级你的
APT源 到 Docker新版.
更新APT
源
Docker’s APT仓库 包括 Docker 1.7.1 及更高版本. 为了设定
APT使用最新仓库的软件包,:使用
sudoor
root权限登陆计算机.
打开 terminal window(命令窗口).
更新安装包信息, 确保 APT 使用
https协议, 同时CA 证书已经被安装.
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates
添加新的
GPGkey.
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
用编辑器打开
/etc/apt/sources.list.d/docker.list.如果不存在,则新建一个
删除任何现有输入.
添加与您Ubuntu操作系统相关条目。该条目可以是:On Ubuntu Precise 12.04 (LTS)
deb https://apt.dockerpr 4000 oject.org/repo ubuntu-precise main
On Ubuntu Trusty 14.04 (LTS)
deb https://apt.dockerproject.org/repo ubuntu-trusty main
Ubuntu Wily 15.10
deb https://apt.dockerproject.org/repo ubuntu-wily main
Ubuntu Xenial 16.04 (LTS)
deb https://apt.dockerproject.org/repo ubuntu-xenial main
备注: Docker没有为所有架构提供代码包 .你可以找到 nightly built binaries in https://master.dockerproject.org. To install docker on a multi-architecture system, add an
[arch=...]clause to the entry. 详细内容参考 Debian Multiarch wiki .
保存并关闭
/etc/apt/sources.list.d/docker.listfile.
更新
APT软件包索引.
$ sudo apt-get update
清除旧的repo if it exists.
$ sudo apt-get purge lxc-docker
确保
APT是从正确的代码库拉取下来的.
$ apt-cache policy docker-engine至此,你可以 使用命令
apt-get upgrade,
APT从新代码库拉取代码.
Ubuntu 版本相关的先决条件
Ubuntu Xenial 16.04 (LTS)Ubuntu Wily 15.10
Ubuntu Trusty 14.04 (LTS)
针对Ubuntu Trusty, Wily, and Xenial, 推荐安装 the
linux-image-extra-*内核包.
linux-image-extra-*包允许你使用
aufs存储驱动.为了安装
linux-image-extra-*:打开主机命令窗口.
更新包管理器.
$ sudo apt-get update
安装推荐包.
$ sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
继续安装 Docker.
Ubuntu Precise 12.04 (LTS)
针对Ubuntu Precise, Docker 要求是 3.13内核. 如果内核版本早于 3.13, 必须更新. 参考如下表格来对比不同包对运行环境的要求:Package | Description |
---|---|
linux-image-generic-lts-trusty | Generic Linux kernel image. This kernel has AUFS built in. This is required to run Docker. |
linux-headers-generic-lts-trusty | Allows packages such as ZFS and VirtualBox guest additions which depend on them. If you didn't install the headers for your existing kernel, then you can skip these headers for the"trusty" kernel. If you're unsure, you should include this package for safety. |
xserver-xorg-lts-trusty | Optional in non-graphical environments without Unity/Xorg. Required when running Docker on machine with a graphical environment. To learn more about the reasons for these packages, read the installation instructions for backported kernels, specifically the LTS Enablement Stack — refer to note 5 under each version. |
libgl1-mesa-glx-lts-trusty |
更新包管理器.
$ sudo apt-get update
安装必需包和可选包
$ sudo apt-get install linux-image-generic-lts-trusty根据你的运行环境, 你可能需要根据之前提供表格所描述内容安装其他内容.
重启主机.
$ sudo reboot
重启之后, 继续安装Docker.
安装
确保你已经安装过你的Ubuntu版本所需前提要求.然后, 通过以下步骤安装Docker:用具有sudo权限的用户登陆Ubuntu.
Update your
APTpackage index.
$ sudo apt-get update
安装 Docker.
$ sudo apt-get install docker-engine
开始使用
docker.
$ sudo service docker start
确认
docker已被正确安装.
$ sudo docker run hello-world这个命令下载一个测试图片并且在容器(container)中运行. 然后容器container运行, 打印出相关信息.说明安装成功.
可选配置
下面驱动包含一些可选步骤用来配置Ubuntu环境下Docker.Create a docker groupAdjust memory and swap accounting
Enable UFW forwarding
Configure a DNS server for use by Docker
Configure Docker to start on boot
创建 Docker group
docker进程(daemon)绑定在 Unix套接字(socket), 而不是TCP端口(port). 由于Unix默认是 socket权限归
root用户所有,其他用户可以通过
sudo访问. 由此,
docker进程通常使用
root用户运行.
为了避免每次使用docker命令都不得不使用sudo, 创建名为
docker的Unix group并add users to it. 当
dockerdaemon 开始,
dockergroup就会拥有Unix socket 的读写权限(read/writable).警告: The
dockergroup is equivalent to the
root用户; For details on how this impacts security in your system, 查看Docker Daemon Attack Surface 查看细节.为了
dockergroup and添加用户user:使用具有
sudo权限得用户登录Ubuntu.
创建
dockergroup.
$ sudo groupadd docker
添加user到
dockergroup.
$ sudo usermod -aG docker $USER
Log out and log back in.This ensures your user is running with the correct permissions.
确认不使用
sudo可以运行docker.
$ docker run hello-world如果提示失败信息与下面相似:
Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?检查
DOCKER_HOST环境变量 没有设置shell. 如果这样,重置他.
Adjust memory and swap accounting
When users run Docker, they may see these messages when working with an image:WARNING: Your kernel does not support cgroup swap limit. WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.To prevent these messages, enable memory and swap accounting on your system. Enabling memory and swap accounting does induce both a memory overhead and a performance degradation even when Docker is not in use. The memory overhead is about 1% of the total available memory. The performance degradation is roughly 10%.To enable memory and swap on system using GNU GRUB (GNU GRand Unified Bootloader), do the following:Log into Ubuntu as a user with
sudoprivileges.
Edit the
/etc/default/grubfile.
Set the
GRUB_CMDLINE_LINUXvalue as follows:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
Save and close the file.
Update GRUB.
$ sudo update-grub
Reboot your system.
Enable UFW forwarding
If you use UFW (Uncomplicated Firewall) on the same host as you run Docker, you’ll need to do additional configuration. Docker uses a bridge to manage container networking. By default, UFW drops all forwarding traffic. As a result, for Docker to run when UFW is enabled, you must set UFW’s forwarding policy appropriately.Also, UFW’s default set of rules denies all incoming traffic. If you want to reach your containers from another host allow incoming connections on the Docker port. The Docker port defaults to2376if TLS is enabled or
2375when it is not. If TLS is not enabled, communication is unencrypted. By default, Docker runs without TLS enabled.To configure UFW and allow incoming connections on the Docker port:Log into Ubuntu as a user with
sudoprivileges.
Verify that UFW is installed and enabled.
$ sudo ufw status
Open the
/etc/default/ufwfile for editing.
$ sudo nano /etc/default/ufw
Set the
DEFAULT_FORWARD_POLICYpolicy to:
DEFAULT_FORWARD_POLICY="ACCEPT"
Save and close the file.
Reload UFW to use the new setting.
$ sudo ufw reload
Allow incoming connections on the Docker port.
$ sudo ufw allow 2375/tcp
Configure a DNS server for use by Docker
Systems that run Ubuntu or an Ubuntu derivative on the desktop typically use127.0.0.1as the default
nameserverin
/etc/resolv.conffile. The NetworkManager also sets up
dnsmasqto use the real DNS servers of the connection and sets up
nameserver 127.0.0.1in /
etc/resolv.conf.When starting containers on desktop machines with these configurations, Docker users see this warning:
WARNING: Local (127.0.0.1) DNS resolver found in resolv.conf and containers can't use it. Using default external servers : [8.8.8.8 8.8.4.4]The warning occurs because Docker containers can’t use the local DNS nameserver. Instead, Docker defaults to using an external nameserver.To avoid this warning, you can specify a DNS server for use by Docker containers. Or, you can disable
dnsmasqin NetworkManager. Though, disabling
dnsmasqmight make DNS resolution slower on some networks.The instructions below describe how to configure the Docker daemon running on Ubuntu 14.10 or below. Ubuntu 15.04 and above use
systemdas the boot and service manager. Refer to control and configure Docker with systemd to configure a daemon controlled by
systemd.To specify a DNS server for use by Docker:Log into Ubuntu as a user with
sudoprivileges.
Open the
/etc/default/dockerfile for editing.
$ sudo nano /etc/default/docker
Add a setting for Docker.
DOCKER_OPTS="--dns 8.8.8.8"Replace
8.8.8.8with a local DNS server such as
192.168.1.1. You can also specify multiple DNS servers. Separated them with spaces, for example:
--dns 8.8.8.8 --dns 192.168.1.1Warning: If you’re doing this on a laptop which connects to various networks, make sure to choose a public DNS server.
Save and close the file.
Restart the Docker daemon.
$ sudo service docker restart
Or, as an alternative to the previous procedure, disable
dnsmasqin NetworkManager (this might slow your network).Open the
/etc/NetworkManager/NetworkManager.conffile for editing.
$ sudo nano /etc/NetworkManager/NetworkManager.conf
Comment out the
dns=dnsmasqline:
dns=dnsmasq
保存并关闭.
重启NetworkManager 和 Docker.
$ sudo restart network-manager $ sudo restart docker
Configure Docker to start on boot
Ubuntu usessystemdas its boot and service manager
15.04onwards and
upstartfor versions
14.10and below.For
15.04and up, to configure the
dockerdaemon to start on boot, run
$ sudo systemctl enable dockerFor
14.10and below the above installation method automatically configures
upstartto start the docker daemon on boot
更新Docker
使用apt-get来安装Docker最新版:$ sudo apt-get upgrade docker-engine
卸载
卸载Docker包:$ sudo apt-get purge docker-engine卸载Docker包及依赖:
$ sudo apt-get autoremove --purge docker-engine上面命令会删除images, containers, volumes, user created configuration files on your host. If you wish to delete all images, containers, and volumes run the following command:
$ rm -rf /var/lib/dockerYou must delete the user created configuration files manually.请把你的疑问评论在下方。
相关文章推荐
- ubuntu环境下docker安装步骤
- ubuntu下golang 环境安装步骤
- 【Docker】记 Docker 下,基于 Ubuntu:14.04 安装 nodejs ,并配置相关环境
- Docker安装详细步骤(CentOS环境)
- VMware12环境下安装Ubuntuk ylin 14.04 步骤
- docker 安装步骤(只支持ubuntu14.04以上版本)
- Golang 在UBUNTU下 环境安装步骤
- Ubuntu14.04环境下,Docker安装
- ubuntu环境下Docker的安装
- Ubuntu安装JDK及环境变量配置步骤详解
- ubuntu16.04 docker环境安装部署
- Ubuntu 16.04安装使用--Ubuntu16.04下基于Docker的Caffe-GPU版本环境搭建总结
- Docker 在Ubuntu环境的安装教程
- CentOS环境下Docker安装详细步骤
- ubuntu下安装eclipse C++ 环境步骤记录
- Ubuntu10.04编译Android源代码环境 WMware Tools安装 JDK1.6安装方法 及步骤总结
- Docker安装详细步骤(CentOS 7 环境)
- docker环境elasticSearch5.5 head 插件安装步骤
- Hive1.2.2安装步骤(Ubuntu17.04环境下搭建)
- Docker安装详细步骤(CentOS 7 环境)