加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 本地

docker 容器空间不够用了怎么办

时间:2024-01-23 17:38:15  来源:http://www.gzrxw.net  作者:admin

docker 容器空间不够用了怎么办

通过命令可以观察到/var/lib/Docker目录很大,我的主机只有20G,这个目录占了18G;原因是devicemapper的空间设的太大,通过docker info打印的Data Space Total参数可以看到,默认是107.4G。

思路如下:

备份当前容器、镜像;

删除/var/lib/docker目录;

使用dd命令重设大小;

恢复容器、镜像;

工具:

需要额外空间保存备份文件,可以挂载一个u盘或者云盘。

docker save 可以导出镜像 tar文件;

docker export 可以导出容器 tar文件;

备份好之后停止docker

[html] view plain copy

# /etc/init.d/docker stop

删除/var/lib/docker目录;

[html] view plain copy

# mkdir -p /var/lib/docker/devicemapper/devicemapper/data

# dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1M count=0 seek=8192

建立的文件最大为 1M * 8192 = 8G

启动docker

[html] view plain copy

# /etc/init.d/docker start

使用docker info看看Data Space Total,检查是否设置成功

docker load 可以导入镜像tar文件为 镜像

注意load用法为:docker load image1:new<image1.tar

docker import 可以导入容器tar文件为 镜像

注意import用法为: cat container1.tar |docker import - container1:new

如何把docker进程把启动文件映射到容器内

1.安装Docker在开始前,我们首先得确保在Linux主机中已经安装了Docker。这里,我运行的是CentOS7主机,我们将运行yum管理器和下面的命令来安装Docker。#yuminstalldocker#systemctlrestartdocker.service2.创建Dockerfile现在,Docker守护进程已经在运行中了,我们现在准备创建自己的FirefoxDocker容器。我们要创建一个Dockerfile,在其中我们要输入需要的配置来创建一个可以工作的Firefox容器。为了运行Docker镜像我们需要使用最新版本的CentOS。要创建Docker镜像,我们需要用文本编辑器创建一个名为Dockerfile的文件。#nanoDockerfile接着,在Dockerfile中添加下面的行并保存。#!/bin/bashFROMcentos:7RUNyuminstall-yfirefox#用你自己的uid/gid替换下面的0RUNexportuid=0gid=0RUNmkdir-p/home/developerRUNechodeveloper:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash>>/etc/passwdRUNechodeveloper:x:${uid}:>>/etc/groupRUNechodeveloperALL=(ALL)NOPASSWD:ALL>>/etc/sudoersRUNchmod0440/etc/sudoersRUNchown${uid}:${gid}-R/home/developerUSERdeveloperENVHOME/home/developerCMD/usr/bin/firefox注意:在第四行的配置中,用你自己的用户和组id来替换0。我们可以用下面的命令在shell或者终端中得到uid和gid。#id$USER3.构造Docker容器下面我们就要根据上面的Dockerfile构建一个容器。它会安装firefox浏览器和它需要的包。它接着会设置用户权限并让它可以工作。这里镜像名是firefox,你可以根据你的需要命名。#dockerbuild--rm-tfirefox.4.运行Docker容器现在,如果一切顺利,我们现在可以在运行在CentOS7镜像中的Docker容器里面运行我们的GUI程序也就是Firefox浏览器了。#dockerrun-ti--rm-eDISPLAY=$DISPLAY-v/tmp/.X11-unix:/tmp/.X11-unixfirefox总结在Docker容器中运行GUI程序是一次很棒的体验,它对你的主机文件系统没有任何的伤害。它完全依赖你的Docker容器。本教程中,我尝试了CentOS7Docker中的Firefox。我们可以用这个技术尝试的GUI程序。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门