调整docker默认数据目录
方法一、最简单也是最暴力的方式
systemctl stop docker #先停docker服务
cat /etc/systemd/system/multi-user.target.wants/docker.service #编译文件
#找到ExecStart部分,在此行末尾添加--graph=你的目录,保存即可。我的如下
ExecStart=/usr/bin/dockerd -H unix:// --graph=/u01/docker #--graph=/path/to/path可以替换成-g /path/to/path 效果等同
保存退出,重启docker服务
systemctl daemon-reload #让systemd重新读取下这些service等的配置
systemctl restart docker #重启docker服务
方法二、官方文档中的方式,修改 /etc/docker/daemon.json
systemctl stop docker #先停docker服务
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"data-root": "/u01/docker"
}
保存退出,重启docker服务
systemctl daemon-reload #让systemd重新读取下这些service等的配置
systemctl restart docker #重启docker服务
方法三、通过软链接修改docker数据存储目录
systemctl stop docker #先停docker服务
mkdir /u01/docker #创建docker的数据目录
mv /var/lib/docker/* /u01/docker #移动/var/lib/docker/目录到新目录中
rm -rf /var/lib/docker #删除/var/lib/docker/目录
ln -s /data/docker /var/lib/docker #软连接/data/docker 到 /var/lib/里
systemctl daemon-reload #让systemd重新读取下这些service等的配置
systemctl start docker #启动docker
验证
docker info |grep 'Dir' #查看数据目录
普通用户使用docker
以isi用户为例
在root用户下:
groupadd docker #添加docker用户组
gpasswd -a isi docker #将普通用户isi加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用
在普通用户isi下:
需要提前做好sudo授权
sudo groupadd docker #添加docker用户组,提前做好sudo授权即可
sudo gpasswd -a $USER docker #将当前用户isi加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用