这里介绍在CentOS上安装Docker,其他系统安装docker请参考官网。
官方地址:Install Docker Engine on CentOS | Docker Docs
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
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 --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
1.安装最新版本的Docker Engine和容器
sudo yum install docker-ce docker-ce-cli containerd.io
2.安装特定版本的Docker Engine
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce- docker-ce-cli- containerd.io
通过其完全合格的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
就是docker-ce-18.09.1
docker-ce-sudo yum install docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io
docker -v
sudo systemctl enable docker && sudo systemctl start docker
sudo docker run hello-world
此命令下载测试图像并在容器中运行它。容器运行时,它会打印参考消息并退出。
如下:
默认情况下,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
# 1.卸载Docker Engine,CLI和Containerd软件包
sudo yum remove docker-ce docker-ce-cli containerd.io
# 2.主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷
sudo rm -rf /var/lib/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