1. 为什么使用 Docker
Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机)、bare metal、OpenStack 集群、云端、数据中心和其他的基础应用平台。容器是完全使用沙箱机制,相互之间不会有任何接口。
在 linux 服务器上使用 docker 部署环境的优点如下:
- 构建容易分发简单
- 隔离应用解除依赖
- 快速部署测完就销
Docker 有企业版和社区版,本节中讲述在 64 位的 Ubuntu18.04 的机器上安装 Docker Engine-Community 社区版本,即 Docker-ce。
2. 卸载系统中已有的 docker 旧版本
为了防止安装出错,需要先检查并卸载系统中存在 docker 的旧版本,比如docker
,docker.io
或docker-engine
:
sudo apt-get remove docker docker-engine docker.io containerd runc
如果 apt-get 报告未安装这些软件包,则可以进行接下来的操作:
3. 使用存储库安装 Docker-ce
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。
设置 Docker 存储库
更新 apt 包索引:
代码语言:javascript复制sudo apt-get update
安装以下包以使 apt 可以通过 HTTPS 使用存储库:
代码语言:javascript复制sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
添加 Docker 的官方 GPG 密钥:
代码语言:javascript复制curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
通过搜索指纹的后 8 个字符,验证一下现在是否拥有带有指纹的密钥 :
代码语言:javascript复制sudo apt-key fingerprint 0EBFCD88
使用下面的命令来设置 stable 存储库:
代码语言:javascript复制sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装 Docker-ce
更新 apt 包索引:
代码语言:javascript复制sudo apt-get update
安装最新版本的 Docker Engine-Community 和 containerd:
代码语言:javascript复制sudo apt-get install docker-ce docker-ce-cli containerd.io
测试 Docker-ce
安装完成之后,可以通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community:
代码语言:javascript复制sudo docker run hello-world
此命令会下载测试镜像并在容器中运行。容器运行时,它会打印参考消息并退出。
Docker Engine-Community 已安装并正在运行。该 docker 组已创建,但未添加任何用户,所以需要使用 sudo 来运行 Docker 命令。
更多的示例可以参考:https://docs.docker.com/get-started/[1]。
升级 Docker-ce
先更新一下索引:
代码语言:javascript复制sudo apt-get update
然后重新安装步骤即可:
代码语言:javascript复制sudo apt-get install docker-ce docker-ce-cli containerd.io
卸载 Docker-ce
卸载 Docker Engine-社区软件包:
代码语言:javascript复制sudo apt-get purge docker-ce
主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
代码语言:javascript复制sudo rm -rf /var/lib/docker
参考资料
[1]https://docs.docker.com/get-started/: https://docs.docker.com/get-started/