Docker镜像存储位置修改

20 篇文章 0 订阅
17 篇文章 1 订阅

使用命名查看镜像存放位置

$ sudo docker info | grep "Docker Root Dir" 

输出

Docker Root Dir: /var/lib/docker

通过创建软链接的方式来将镜像存储文件放到其他路径

解决默认存储容量不足的情况,最直接且最有效的方法就是挂载新的分区到该目录。但是在原有系统空间不变的情况下,所以采用软链接的方式,修改镜像和容器的存放路径达到同样的目的。

停掉Docker服务,service docker stop!!!!!!!一定要先停掉

# 停掉Docker服务  
$ service docker stop

然后移动整个 /var/lib/docker 目录到空间不较大的目的路径。这时候启动 Docker 时发现存储目录依旧是 /var/lib/docker 目录,但是实际上是存储在数据盘 /data/docker 上了。

移动原有内容,创建软连接

# 移动原有的内容  
$ mv /var/lib/docker /data/docker 
# 进行链接  
$ ln -sf /data/docker /var/lib/docker

修改Docker配置实现存储位置的修改

参考如下链接
知乎参考链接
一般Docker存在在/var/lib/docker下面,存放镜像和创建的容器,但是一般在系统盘上,会受到系统盘大小的影响。所以我们要设置配置文件修改Docker的存储位置。

$ docker info
Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 2
 Server Version: 20.10.12
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 
 runc version: 
 init version: 
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.8.0-50-generic
 Operating System: Ubuntu 20.04.2 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 48
 Total Memory: 62.75GiB
 Name: lhq323-TRX40-DESIGNARE
 ID: ZXEV:5KRU:NMKO:ZVS4:2VM2:FQRT:W6TO:H2TV:XNWQ:XPGR:L3W3:NLTD
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

官方文档的修改办法是编辑 /etc/docker/daemon.json 文件:

sudo vi /etc/docker/daemon.json 

默认情况下这个配置文件是没有的,这里实际也就是新建一个,然后写入以下内容:

{
  "data-root": "/www/docker"
}

此文件还涉及默认源的设定,如果设定了国内源,那么实际就是在源地址下方加一行,写成:
注意"data-root"前面的逗号

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "data-root": "/www/docker"
}

保存退出,然后重启 docker 服务:

systemctl restart docker

再次查看 docker 信息,可以看到目录已经变成了设定的新路径

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值