藏茗山学院
安全可靠、性能稳定、追求极致的用户体验
CentOS在线安装docker与CentOS手动安装docker及解决方法
本文档所用CentOS版本为CentOS 7.0, 安装过程参考自官方文档//docs.docker.com/engine/install/centos/
在线安装
1. 卸载旧版本
较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项,命令如下:
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
2. 配置docker yum仓库
命令如下:
sudo yum install -y yum-utilssudo yum-config-manager
--add-repo
//download.docker.com/linux/centos/docker-ce.repo
3. 安装DOCKER引擎
安装最新版本的Docker
命令如下:
sudo yum install docker-ce docker-ce-cli containerd.io
安装特定版本的Docker
a.列出并排序您存储库中可用的版本,命令如下:
yum list docker-ce --showduplicates | sort -r
b.安装指定版本,命令如下:
sudo yum install docker-ce-<版本号> docker-ce-cli-<版本号> containerd.io
PS: 此时Docker已安装但尚未启动。用户组docker已创建,但没有用户添加到该组。
4. 启动docker
命令如下:
sudo systemctl start docker
5. 通过运行hello-world 镜像来验证是否正确安装了Docker Engine
命令如下:
sudo docker run hello-world
手动安装
1. 卸载旧版本
较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项,命令如下:
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
2. 下载Docker安装包
下载地址: //download.docker.com/linux/centos/7/x86_64/stable/Packages/
选择要安装的版本的.rpm文件下载
3. 安装Docker
后面的文件路径换成实际的你下载的rpm包的路径,命令如下:
sudo yum install /path/to/package.rpm
PS: 此时Docker已安装但尚未启动。该docker组已创建,但没有用户添加到该组。
4. 启动Docker
命令如下:
sudo systemctl start docker
5. 通过运行hello-world 镜像来验证是否正确安装了Docker Engine
命令如下:
sudo docker run hello-world
非root用户启动docker
Docker守护程序绑定到Unix套接字而不是TCP端口。默认情况下,Unix套接字由root用户拥有,其他用户只能使用sudo来访问它。Docker守护程序始终以root用户身份运行。
如果不想在运行docker命令时加sudo前缀,可以创建一个名为docker的用户组并将用户加入到该组。Docker守护程序启动时,它将创建一个可由该docker组成员访问的Unix套接字。
1. 创建docker用户组
命令如下:
sudo groupadd docker
2.将您的用户添加到该docker组($USER表示当前用户, 也可指定其他用户)
命令如下:
sudo usermod -aG docker $USER
3.激活对组的更改
如果在虚拟机上进行测试,则可能需要重新启动虚拟机以使更改生效,命令如下:
newgrp docker
4.验证普通用户是否可以不带sudo前缀运行docker
命令如下:
docker run hello-world
如果在将用户添加到组之前就运行过Docker CLI命令, 就可能会出现以下错误:
解决方法一:
删除~/.docker/目录(会自动重新创建目录,但是所有自定义设置都会丢失)
解决方法二:
运行以下命令
sudo chown "$USER":"$USER" /home/"$USER"/.docker -Rsudo chmod g+rwx "$HOME/.docker" -R