版本ubuntu18.04
一、仓库安装
- 卸载旧版本
$ sudo apt-get remove docker docker-engine docker.io containerd runc
- 安装依赖包
$ sudo apt-get update # 更新 apt 包
$ sudo apt-get install \ # 安装 apt 依赖包
> apt-transport-https \
> ca-certificates \
> curl \
> gnupg-agent \
> software-properties-common
- 添加 Docker 的官方 GPG 密钥
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88 # 验证
- 设置稳定版仓库
$ sudo add-apt-repository \
> "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
> $(lsb_release -cs) \
> stable"
- 安装 Docker Engine-Community
# 安装最新版本
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
# 安装特定版本
$ apt-cache madison docker-ce # 版本列表
docker-ce | 5:19.03.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io # VERSION_STRING是版本号如:5:19.03.7~3-0~ubuntu-bionic
# 按需求选择一个安装
- 测试
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
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://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
二、脚本安装
Docker 在 get.docker.com 和 test.docker.com 上提供了方便脚本,用于将快速安装 Docker Engine-Community 的边缘版本和测试版本。脚本的源代码在 docker-install 仓库中。不建议在生产环境中使用这些脚本,在使用它们之前,您应该了解潜在的风险:
-
脚本需要运行 root 或具有 sudo 特权。因此,在运行脚本之前,应仔细检查和审核脚本。
-
这些脚本尝试检测 Linux 发行版和版本,并为您配置软件包管理系统。此外,脚本不允许您自定义任何安装参数。从 Docker 的角度或您自己组织的准则和标准的角度来看,这可能导致不支持的配置。
-
这些脚本将安装软件包管理器的所有依赖项和建议,而无需进行确认。这可能会安装大量软件包,具体取决于主机的当前配置。
-
该脚本未提供用于指定要安装哪个版本的 Docker 的选项,而是安装了在 edge 通道中发布的最新版本。
-
如果已使用其他机制将 Docker 安装在主机上,请不要使用便捷脚本。
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
如果要使用 Docker 作为非 root 用户,则应考虑使用类似以下方式将用户添加到 docker 组:
$ sudo usermod -aG docker your-user
三、配置加速器
$ vim /etc/docker/daemon.json # 没有就新建
{"registry-mirrors":["https://hub-mirror.c.163.com/"]} # 网易加速器
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ sudo docker info # 验证
Registry Mirrors:
https://hub-mirror.c.163.com/