Dockerfile创建镜像时的报错

这里是我在tomcat部署jenkins通过Dockerfile创建镜像时的报错

tep 1/13 : FROM daocloud.io/library/centos:7
 ---> 7e6257c9f8d8
Step 2/13 : MAINTAINER yixuan
 ---> Running in 19f42ea5adff
Removing intermediate container 19f42ea5adff
 ---> 4de1a4001f6c
Step 3/13 : ENV JAVA_HOME /usr/local/jdk1.8.0_211
 ---> Running in e5d9821af2c7
Removing intermediate container e5d9821af2c7
 ---> 7b7ac517c1db
Step 4/13 : ENV TOMCAT_HOME /usr/local/apache-tomcat-8.5.47
 ---> Running in 1affc371393c
Removing intermediate container 1affc371393c
 ---> b7667e6c0c10
Step 5/13 : ENV PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
 ---> Running in 8ecc0786bdc0
Removing intermediate container 8ecc0786bdc0
 ---> 9c316b911531
Step 6/13 : ENV CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
 ---> Running in 65210c6051a5
Removing intermediate container 65210c6051a5
 ---> e79f4f413b03
Step 7/13 : ADD apache-tomcat-8.5.47.tar.gz /usr/local/
 ---> 3c03a91e0129
Step 8/13 : ADD jdk-8u211-linux-x64.tar.gz /usr/local/
failed to copy files: Error processing tar file(exit status 1): write /jdk1.8.0_211/lib/visualvm/platform/module
s/org-openide-explorer.jar: no space left on device

上述docker报错 no space left on device,指设备上没有剩余空间,centos7 docker容器及镜像默认是安装到/var/lib/docker,下面本机/var下的分区才1G,因此在创建镜像时是报错空间不足。

# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        15G  3.3G   12G  22% /
devtmpfs                devtmpfs  979M     0  979M   0% /dev
tmpfs                   tmpfs     991M     0  991M   0% /dev/shm
tmpfs                   tmpfs     991M  9.6M  981M   1% /run
tmpfs                   tmpfs     991M     0  991M   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  126M  372M  26% /boot
/dev/mapper/centos-home xfs      1014M   33M  982M   4% /home
/dev/mapper/centos-var  xfs      1014M  573M  442M  57% /var
tmpfs                   tmpfs     199M     0  199M   0% /run/user/0
overlay                 overlay    15G  3.3G   12G  22% /root/docker/overlay2/213048c5a7a78edd7d604043d9a614eae8
03c3e473545bcae1c01fba63710a05/merged

Centos7修改Docker默认存储位置,Centos7安装docker之后,默认的镜像及容器存储路径为/var/lib/docker,可以使用命令docker info查看。

# docker info | grep "Docker Root Dir"
但是该路径默认使用的是系统盘的存储,如果挂载了数据盘,需要把docker的默认存储路径修改至数据盘的挂载目录,则需要修改docker的相关配置。

关闭docker

# systemctl stop docker

创建储存镜像和容器新的目录

# mkdir -p /docker

查看docker服务配置文件路径

# systemctl show --property=FragmentPath docker
FragmentPath=/usr/lib/systemd/system/docker.service

修改配置参数

将–graph /data/docker添加在docker.service文件中的ExecStart字段后面,其中/data/docker为你需要修改的

# vim /usr/lib/systemd/system/docker.service
:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
修改为:
ExecStart=/usr/bin/dockerd --graph /root/docker -H fd:// --containerd=/run/containerd/containerd.sock

重启并重启服务

# systemctl daemon-reload && systemctl restart docker

再执行docker info时,能看到目录已修改:

# docker info|grep 'Docker Root Dir'
  Docker Root Dir: /root/docker

测试
下载一个centos7镜像

# docker pull daocloud.io/library/centos:7

注意:修改了目录你的镜像和容器就会丢失,在修改前记得迁移~这里就不叙说迁移啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BLXXQQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值