据我所知,当docker映像被拉出来时,它们被安装到/var/lib/docker中。是否有办法改变这个位置,比如到一个挂载的卷,比如/mnt?
当前回答
这篇博文帮助了我
以下是在创建Docker容器之后更改目录的步骤。
注意,你不需要编辑docker。服务或init。D文件,因为它将从下面提到的.json文件中读取更改。
编辑/etc/docker/daemon.Json(如果它不存在,创建它) 添加以下内容
{
"data-root": "/new/path/to/docker-data"
}
停止码头工人
sudo systemctl stop docker
检查码头已停止
ps aux | grep -i docker | grep -v grep
将文件复制到新位置
sudo rsync -axPS /var/lib/docker/ /new/path/to/docker-data
重新启动Docker
sudo systemctl start docker
检查Docker已使用新位置启动
docker info | grep 'Docker Root Dir'
检查一切已经启动,应该运行
docker ps
在服务器上保留两个副本几天,以确保没有问题出现,然后随意删除它。
sudo rm -r /var/lib/docker
其他回答
对于新的docker版本,我们需要使用data-root,因为graph在v17.05.0中已弃用:官方弃用文档
编辑/etc/docker/daemon.Json(如果它不存在,创建它),并包括:
{
"data-root": "/new/path/to/docker-data"
}
然后重新启动Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
更详细的一步一步的解释(包括移动数据)使用Docker存储与data-root可以在:博客文章中找到 在Windows的情况下,类似的帖子Windows特定
对于17.06.0-ce-mac19版本的Mac用户,您可以简单地从用户界面的首选项选项中移动磁盘映像位置,只需更改磁盘映像的位置,它就会工作(通过单击移动磁盘映像)并重新启动docker。使用这种方法,我可以使用外部硬盘来存储docker图像。
在CentOS 6.5
service docker stop
mkdir /data/docker (new directory)
vi /etc/sysconfig/docker
添加以下行
other_args=" -g /data/docker -p /var/run/docker.pid"
然后保存文件并再次启动docker
service docker start
并将存储库文件创建在/data/docker中
复制粘贴版本的获胜者答案:)
只创建以下内容的文件:
$ sudo vi /etc/docker/daemon.json
{
"graph": "/my-docker-images"
}
在docker 1.12.6中的Ubuntu 16.04.2 LTS上测试
这篇博文帮助了我
以下是在创建Docker容器之后更改目录的步骤。
注意,你不需要编辑docker。服务或init。D文件,因为它将从下面提到的.json文件中读取更改。
编辑/etc/docker/daemon.Json(如果它不存在,创建它) 添加以下内容
{
"data-root": "/new/path/to/docker-data"
}
停止码头工人
sudo systemctl stop docker
检查码头已停止
ps aux | grep -i docker | grep -v grep
将文件复制到新位置
sudo rsync -axPS /var/lib/docker/ /new/path/to/docker-data
重新启动Docker
sudo systemctl start docker
检查Docker已使用新位置启动
docker info | grep 'Docker Root Dir'
检查一切已经启动,应该运行
docker ps
在服务器上保留两个副本几天,以确保没有问题出现,然后随意删除它。
sudo rm -r /var/lib/docker
推荐文章
- 如何从私有docker注册表中删除图像?
- 创建多个标签码头镜像
- Docker -如何将文件从镜像复制到主机?
- 如何防止docker在系统启动时自动启动容器?
- 什么是Docker映像“层”?
- 无法从docker-compose连接到docker
- Docker错误无法删除Docker容器,冲突:无法删除存储库引用
- 如何让容器在Kubernetes上运行?
- 如何备份docker容器的数据卷?
- Docker入口点运行bash脚本被“拒绝权限”
- 我如何复制Docker作为非根?
- 如何禁用容器上的自动重启?
- 如何传递参数到Dockerfile?
- 如何知道docker是否已经登录到docker注册服务器
- 为什么安装了Docker而没有安装Docker Compose?