上文 Docker系列技术分享(一) 容器技术和Docker 介绍了容器的历史和应用场景,本文将介绍如何从零上手使用Docker,帮助读者更直观的理解容器技术
Docker支持 Linux 、Windows 和 MacOS 等多个平台,当然主阵地还是Linux,因为服务器大多使用Linux操作系统,其他系统的Docker可以作为开发环境来体验
各个平台的安装流程:官网安装文档 已经介绍的很详细了,不在赘述。这里以CentOS为例走下流程
CentOS 7/8
额外注意的点:
- 必须启用 centos-extras ,默认情况下是开启的,如果手动禁用了,需用重新打开,参考文档 https://wiki.centos.org/AdditionalResources/Repositories
- Docker官方推荐使用 overlay2 存储驱动
首先先要卸载老版本,防止多个版本冲突,不好管理。直接使用如下命令一键卸载。
老版本的Docker叫 docker 或者 docker-engine ,新版本的Docker引擎叫 docker-ce。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
Docker提供了多种安装方式,推荐使用第一种。
以下介绍yum安装流程:
添加官方yum仓库
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
据说因为国内的网络环境限制,可能拉取有问题或者网速较慢,我是香港机器所以没遇到这个问题,如果官方源使用有问题可以试下国内的阿里云仓库
$ sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
上述仓库默认只开启稳定版,这也是官方推荐的版本,类似于一个软件的release版本,如果需要最新版本或者测试版本,可以使用enable开启,要注意新版本测试不充分,未经过大规模生产验证,可能存在bug。
$ sudo yum-config-manager --enable docker-ce-nightly #最新版本
$ sudo yum-config-manager --enable docker-ce-test # 测试版本
yum一键安装,默认安装的是最新版Docker
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果需要安装老的版本的Docker,可以用list查询历史版本。
[root@VM-4-15-centos ~]# yum list docker-ce --showduplicates | sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror, langpacks
docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable
然后指定版本进行安装,比如如下安装3:20.10.9这个版本的Docker。
$ sudo yum install docker-ce-3:20.10.9 docker-ce-cli-3:20.10.9 containerd.io
Docker引擎使用Systemd管理,可以直接start启动
[root@VM-4-15-centos ~]# sudo systemctl start docker
或者使用ps也可以看到docker daemon进程是否存活
[root@VM-4-15-centos ~]# ps aux|grep docker
root 971 0.0 0.7 1170136 60464 ? Ssl 11:57 0:00 /