2025 ubuntu系统安装docker并迁移docker,docker安装到指定的目录以及文件迁移,docker迁移文件
需求:docker默认安装目录文件在这里 /var/lib/docker 已经把磁盘空间使用率达到了95%,在不迁移,
磁盘就满了导致系统会奔!
1. 安装Docker引擎
步骤1.1:卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc
步骤1.2:安装依赖工具
sudo apt-get update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
步骤1.3:添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
步骤1.4:添加Docker仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
步骤1.5:安装Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker && sudo systemctl enable docker
sudo systemctl status docker && sudo docker --version
sudo systemctl stop docker
只需要添加些内容 "data-root": "/custom/docker",
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"],
"insecure-registries": ["0.0.0.0/0"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
2. 修改Docker数据存储目录
步骤2.1:停止Docker服务
sudo systemctl stop docker
步骤2.2:创建自定义目录
sudo mkdir -p /custom/docker
步骤2.3:迁移旧数据
如果已存在旧数据,可以迁移到新目录:
#命令效果一样
sudo rsync -aqxP /var/lib/docker/ /custom/docker
sudo rsync -avz /var/lib/docker/ /custom/docker
步骤2.4:修改Docker配置文件
编辑 /etc/docker/daemon.json,添加以下内容(文件不存在则新建):
#添加此行
{
"data-root": "/custom/docker"
}
步骤2.5:重启Docker服务
sudo systemctl start docker
sudo systemctl enable docker
3. 验证安装和配置
步骤3.1:检查Docker是否运行
sudo systemctl status docker
步骤3.2:查看Docker存储目录
运行以下命令检查配置是否生效:
docker info | grep "Docker Root Dir"
步骤3.3:测试运行容器
sudo docker run hello-world
4. 验证自定义目录的使用
步骤4.1:检查目录内容
查看自定义目录下的文件结构:
ls /custom/docker
du -sh /custom/docker
步骤4.2:清理测试容器
删除测试容器:
docker rm $(docker ps -aq)
5. 删除原来docker安装目录下的文件
rm -fr /var/lib/docker/
sudo systemctl start docker