这里介绍在CentOS上安装Docker,其他系统安装docker请参考官网。
官方地址:https://docs.docker.com/engine/install/centos/#prerequisites
卸载旧版本
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
使用存储库安装(其他方式参考官网)
在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
1、安装存储库
sudo yum install -y yum-utils
2、添加源
sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
3、是否启用nightly或者test仓库
# 启动仓库
sudo yum-config-manager --enable docker-ce-nightly
sudo yum-config-manager --enable docker-ce-test
# 禁用仓库
sudo yum-config-manager --disable docker-ce-nightly
sudo yum-config-manager --disable docker-ce-test
4、安装Docker引擎
- 安装最新版本的Docker Engine和容器
sudo yum install docker-ce docker-ce-cli containerd.io
- 安装特定版本的Docker Engine
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
通过其完全合格的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。 <VERSION_STRING>就是docker-ce-18.09.1
docker-ce-sudo yum install docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io
5、检测Docker版本
docker -v
6、启动docker并配置开机自启动
sudo systemctl enable docker && sudo systemctl start docker
7、通过运行hello-world 映像来验证是否正确安装了Docker Engine 。
sudo docker run hello-world
此命令下载测试图像并在容器中运行它。容器运行时,它会打印参考消息并退出。
如下:
docker 用户组建立
默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
1、docker用户组创建
sudo groupadd docker
2、将用户添加到docker用户组
sudo usermod -aG docker $USER
3、重启docker服务
sudo systemctl restart docker
docker卸载
# 1.卸载Docker Engine,CLI和Containerd软件包
sudo yum remove docker-ce docker-ce-cli containerd.io
# 2.主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷
sudo rm -rf /var/lib/docker
Docker 镜像加速器
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
我们以阿里云加速器
为例进行介绍。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://tm0up4g9.mirror.aliyuncs.com"]
}
EOF
# 重新启动服务
sudo systemctl daemon-reload
sudo systemctl restart docker
检查加速器是否生效
docker info