首页 > 系统相关 >ubuntu 通过软链接的方式修改 Docker 镜像默认存储位置以防止空间占满

ubuntu 通过软链接的方式修改 Docker 镜像默认存储位置以防止空间占满

时间:2023-07-08 21:23:30浏览次数:42  
标签:lib media sudo share ubuntu var 镜像 Docker docker

和之前的 修改 conda 存储位置一样,我们同样可以 通过软链接的方式,修改 存储位置。

前文:

https://www.cnblogs.com/odesey/p/17218519.html

https://www.cnblogs.com/odesey/p/17512848.html

默认情况下 Docker 容器的存放位置在 /var/lib/docker 目录下面,可以通过下面命令查看具体位置:

# 默认存放位置
sudo docker info | grep "Docker Root Dir"
# 输出:Docker Root Dir: /var/lib/docker

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

停掉 docker:

service docker stop

移动整个/var/lib/docker目录到目的路径,这里我们不使用 mv 命令,使用如下命令:

参考:https://www.cnblogs.com/odesey/p/17502903.html

# /var/lib/docker:源目录, 请注意这里不是 /var/lib/docker/ 
sudo rsync  -avz  --progress  --bwlimit=50000 /var/lib/docker  /media/h/share/ubuntu20.04/

然后删除:/var/lib/docker

sudo rm -r /var/lib/docker  # 你也可以用 rsync

建立软链接:

sudo ln -s /media/h/share/ubuntu20.04/docker /var/lib/docker
# /media/h/share/ubuntu20.04/docker: 真的放了东西
# /var/lib/docker: 快捷方式

重启:

service docker start
# Job for docker.service failed because the control process exited with error code.
# See "systemctl status docker.service" and "journalctl -xe" for details.

我的启动不了,查看错误信息:

sudo dockerd --debug
# ERRO[2023-07-08T20:14:20.939131329+08:00] failed to mount overlay: invalid argument     storage-driver=overlay2
# ERRO[2023-07-08T20:14:20.939145577+08:00] [graphdriver] prior storage driver overlay2 failed: driver not supported

在这里:https://zhuanlan.zhihu.com/p/107643520 , 我找到了答案:

the overlay and overlay2 drivers are supported on xfs backing filesystems, but only with d_type=true enabled
也就是说,用 overlay2 驱动,必须是以 xfs 作为后端的文件系统。

原因:一开始我装了ubuntu 和 win10 双系统,/media/h/share(其实就是我的 windows 的 D 盘) 是 windows 下格式化,对应的文件系统格式是 ntfs。

df -h
# 文件系统        容量  已用  可用 已用% 挂载点
# /dev/nvme0n1p4  242G  111G  132G   46% /media/h/share

sudo blkid
# /dev/nvme0n1p4: LABEL="xx" UUID="xx" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="xx"

解决方法 :再买一块硬盘,因为我的不太够用,格式化为 xfs 格式:

  1. 格式化磁盘,更改文件系统为xfs
  2. 挂载磁盘
  3. 按上述步骤再做一遍软链接

我还是先移动回来吧,买了新的硬盘再说!

# 删除软链接
sudo unlink /var/lib/docker
# 移动回来
sudo mv /media/h/share/ubuntu20.04/docker /var/lib/
# 重启成功
service docker start

其他修改位置的方法:http://www.yunweipai.com/39771.html

标签:lib,media,sudo,share,ubuntu,var,镜像,Docker,docker
From: https://www.cnblogs.com/odesey/p/17537758.html

相关文章

  • linux:svg转png(rsvg-convert 2.50.7/ubuntu 21.10)
    一,直接用ImageMagick把svg转为png时有瑕疵1,例子:原图:转换命令:liuhongdi@lhdpc:/data/work/tmpimg$convertgo-logo-blue.svggo.png效果如下:转换完后图片不完整2,查看convert是否调用rsvg-convert确实调用了,但不确定为什么会出现此情况liuhongdi@lhdpc:/data/w......
  • 从docker hub上拉取镜像nginx、tomcat实例
     可以从百度上搜索dockerhub,进入网站:https://hub-stage.docker.com/search?q=tomcat  查看不同镜像版本 查看镜像命令,以下两种均可dockerimagelsdockerimages拉取tomcat镜像,如不指定版本,默认拉取最近的 dockerpulltomcat拉取指定版本tomcat......
  • 用容器部署Nexus 3作为Nuget和Docker的仓库
    1、准备docker-compose的配置文件version:'3'services:nexus:image:'sonatype/nexus3:3.42.0'container_name:nexusrestart:alwayshostname:nuget.dudusoft.cnprivileged:trueenvironment:-TZ=Asia/Shanghai......
  • 云原生之使用Docker部署Dailynotes个人笔记管理工具
    (云原生之使用Docker部署Dailynotes个人笔记管理工具)一、Dailynotes介绍DailyNotes用于每天记笔记和跟踪任务的应用程序。本工具使用markdown进行编辑,也可以作为个人任务看板。二、检查本地docker环境1.检查docker版本[root@jeven~]#docker-vDockerversion20.10.21......
  • eblog镜像的制作
    开发了一个功能简洁、部署方便的个人博客系统-eblog,详情见:eblog可以看到eblog由多个服务组成,这么多服务如何做到一键部署的?这么多镜像如何生成的?本文将为大家揭秘快速部署相关的问题。镜像制作相关文件见:镜像制作文件快速部署针对多服务的部署,自然最优的方案是docker,docker介......
  • 嵌入式linux根文件系统镜像制作
    原文:https://zhuanlan.zhihu.com/p/568784791在嵌入式linux平台中,大部分工作则是填充根文件系统,在开发中,根文件系统一般都是以目录的方式放在开发宿主机上。当根文件系统填充完成后,我们需要将其打包成xxx.img或者其他的镜像格式。本文以xxx.img镜像格式为例,描述如何将根文件......
  • 用Dockers搭建DNS服务器
    1、Docker-Compose的配置文件用vi编辑器,创建文件:vidocker-compose.yml内容如下:version:'3.6'networks:main:ipam:config:-subnet:10.10.1.0/24services:web:image:'sameersbn/bind:9.16.1-20200524'container_nam......
  • 香橙派ubuntu连接wifi
    一、使用nmcli命令1.首先搜索附近wifi:nmclidevwifiesp32是我要连接的wifi2.连接wifinmclidevwificonnectxxxpassword***//xxx为wifi名,***为密码,nmclidevwificonnectesp32password15016474776连接成功手机查看:......
  • docker
    安装Docker安装Docker有三种方法,这里只用repository安装,更详细的安装方法可以看官方文档。1.1添加repository首先更新apt:sudoapt-getupdate安装一些包让apt可以通过https使用repository:sudoapt-getinstallapt-transport-httpsca-certificatescurlgnup......
  • 【转】为什么企业喜欢用 Centos 而不是 Ubuntu
    Centos产品规范ubuntu简介ubuntu基于Debian:GNU/Linux是一种强调使用自由软件的发行版,支持多种硬件平台。Debian及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为软件包管理器。Ubuntu:知名Linux发行版之一,由Canonical有限公司赞助,基于Debian,使用自己的软件包......