官网:https://docs.docker.com/install/linux/docker-ce/centos/#prerequisites
1.卸载旧版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2.安装Docker CE
使用存储库安装
在新主机上首次安装Docker CE之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
2.1设置存储库
2.1.1安装所需的包。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
2.1.2、设置yum源
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker
$ sudo yum install docker-ce
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
4.启动docker
sudo systemctl start docker
5.docker通过运行hello-world 映像验证是否已正确安装。
sudo docker run hello-world
6.卸载Docker CE
6.1:卸载Docker包:
$ sudo yum remove docker-ce
6.2:主机上的镜像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
$ sudo rm -rf /var/lib/docker
7.以非root用户身份管理Docker
useradd docker
passwd docker
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
chmod 777 /etc/sudoers
vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
docker ALL=(ALL) ALL
恢复原来的权限
chmod 440 /etc/sudoers
7.1 将您的用户添加到该docker组。
$ sudo usermod -aG docker docker
7.2:启动docker
su docker
sudo systemctl start docker
测试
验证您是否可以运行docker命令sudo。
$ docker run hello-world
8:配置Docker以在启动时启动
$ sudo systemctl enable docker
要禁用此行为,请disable改用。
$ sudo systemctl disable docker
8.docker默认安装路径的调整
8.1、停止docker服务。
sudo systemctl stop docker; //每个liunx版本的命令不一样
8.2、创建新的docker目录,执行命令df -h,找一个大的磁盘。
/home目录下面建了 /home/docker/lib目录,执行的命令是:mkdir -p /home/docker/lib
8.3、迁移/var/lib/docker目录下面的文件到 /home/docker/lib下面
root 用户操作
cp -R /var/lib/docker/* /home/docker/lib/
注意:如果文件内容很多的话,为了确保成功最好是一个文件一个文件的拷贝。如果在拷贝过程中报“设备上没有空间”的错误,就使用mv剪切。
8.4、https://www.cnblogs.com/whmbky/p/7843580.html
修改docker配置(vi /usr/lib/systemd/system/docker.service ),在文件末添加 --graph=/home/docker/lib
root 用户操作
devicemapper.conf文件的内容如下:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/home/docker/lib
注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径找不到的话,就新建,新建之后加入内容,没有私服地址的话就可以去掉”--insecure-registry=私服地址”。
8.5、重载配置,重启docker
sudo systemctl daemon-reload;
sudo systemctl restart docker;
sudo systemctl enable docker;
8.6 查询是否修改:docker info
8.6、启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了