Ubuntu下安装Docker CE
系统要求
如需安装Docker,需要一下Ubuntu之一的64为版本
- Zesty 17.04
- Yakkety 16.10
- Xenial 16.04 (LTS)
- Trusty 14.04 (LTS)
卸载旧版本
Docker 的早期版本称为 docker 或 docker-engine。如果安装了这些版本,请卸载它们:
sudo apt remove docker docker-engine docker.io
安装Docker CE
- 更新DOCKER CE
sudo apt update
- 安装最新版本的 Docker CE,或者转至下一步以安装特定版本。将替换任何现有的 Docker 安装版本。
sudo apt install docker-ce
- 验证是否正确安装了 Docker CE,运行 hello-world 镜像
sudo docker run hello-world
从软件包进行安装
如果无法使用 Docker 镜像仓库安装 Docker CE,可以下载适用于您的版本的 .deb 文件,并手动进行安装。
- 转至 https://download.docker.com/linux/ubuntu/dists/ , 选择您的 Ubuntu 版本,浏览至 pool/stable/,然后选择 amd64、 armhf 或 s390x。下载适用于您要安装的 Docker 版本的 .deb 文件以及适用于您的 Ubuntu 版本的 .deb 文件。
注:如需安装 edge 软件包,请将 URL 中的词 stable 更改为 edge。 了解 stable 和 edge 渠道。
- 安装 Docker CE,并将下面的路径更改为下载 Docker 软件包的路径。
sudo dpkg -i /path/to/package.deb
- 验证是否正确安装了 Docker CE,方法是运行 hello-world 镜像。
sudo docker run hello-world
升级Docker CE
如需升级 Docker CE,请下载较新的软件包文件并重复安装过程,指向新文件。
Centos下安装Docker CE
这里仅以CentOS 安装 Docker CE 举例说明。详见Docker 官方 CentOS 安装文档
Centos系统要求
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2
存储层驱动)无法使用,并且部分功能可能不太稳定。
警告:切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker.
Centos卸载旧版本
旧版本的 Docker 称为 docker
或者 docker-engine
,使用以下命令卸载旧版本:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
使用脚本安装(非生产环境)
对于个人测试,可以使用这个脚本自动化安装Docker:
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
但是,需要注意, 这个脚本可能扰乱你的系统配置、安装及大量的(你可能用不到的)依赖,并且只能安装最新(可能未经充分测试的)版本的Docker , 所以不推荐在生产环境中使用。
使用 yum 安装
安装依赖包:
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
添加 yum
软件源:
# 中国科学技术大学开源软件镜像源
sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 官方源
# sudo yum-config-manager \
# --add-repo \
# https://download.docker.com/linux/centos/docker-ce.repo
更新 yum
软件源缓存,并安装 docker-ce
。
sudo yum makecache fast
sudo yum install docker-ce
离线安装
以docker-ce-18.03.1为例:
- 在
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
这里找到对应rpm包 - 执行安装命令:
rpm -ivh docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
- 由于安装环境不同,可能会发现缺少一些相关依赖包(eg: libcgroup、libtool-ltdl、container-selinux)前往
https://pkgs.org/
或https://buildlogs.centos.org/
下载对应依赖包,依次安装即可
启动 Docker CE
sudo systemctl enable docker
sudo systemctl start docker
建立 Docker 用户组
默认情况下,docker命令需要root
权限,为了避免每次输入命令都要加sudo
,可以将用户加入 docker
用户组:
sudo groupadd docker
sudo usermod -aG docker $USER
退出当前终端并重新登录,进行如下测试。
测试 Docker 是否安装正确
执行
docker run hello-world
Docker会从官方仓库下载hello-world镜像并启动,如果一切正常的话会看到类似如下提示:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://cloud.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/