文档章节

CentOS7服务器Docker构建ubuntu镜像出错invalid argument

janl
 janl
发布于 2017/05/16 14:59
字数 666
阅读 182
收藏 0

#1 发现问题

拿到某云主机时,选择了最新的CentOS 7.2的公共镜像,一些工作过后,开始布暑应用。因为没有使用docker仓库,所以我直截在服务器上clone的代码,直截进行构建。构建速度还是很快的。

但是当ubuntu 14.04镜像下载完成之后,突然报出错误,这在以前的本地环境和本地服务器中多次执行都没有出现过问题,一时晕菜。

ERROR: Service 'loc_data' failed to build: mkdir arb/docker/overlay/20c822d5447dd6d86d45583d343b32ba1f4f8c1b015822f602c82b4f182e7990-init/merged/dev/shm: invalid argument

#2 寻找线索

多方查找,群里大神也不在,百度后得到的信息有限,后来在github上一个moby的项目问题中找到了一些资料大约是说因为文件系统支持的问题导致的。

根据这条线索,核对了本地服务器,果然发现了一些差异,本地文件系统是xfs的分区格式,而某云服务器的公共开镜像 CentOS7.2的文件系统是ext3的。

而且,docker默认安装会将镜像放置在/var/lib/docker目录下,以致于文问题出来了前面遇到的问题。

#3 寻找解决问题的办法

线索和条件已知,最直截的想法就是把那个公开的ext3文件系统的,镜像干掉,直截装一个xfs的,下一个CentOS 7的安装包,重新装一下。

另一个想法是,能否把另外的数据盘格成xfs的,把docker 的目录移过去,想来还是这样省事,说干就干。

#4 移动docker的工作目录

在网上找到两篇文章,介绍怎么修改docker的目录的。

##1 方法1

分一个区直载 mount到/var/lib/docker。

##2 方法2

修改docker 的配置文件,在/etc/sysconfig/docker 添加 other_args="--graph=/docker" ,还有一种说法是 other_args="--g /docker" ,我的实验结果是,我的系统下这个位置根据没有这个文件,手动建立后,添写上诉的内容也不起作用,我想可能是因发不同发行版的区别的吧,返正不管用。

##3 方法3

将/var/lig/docker中的内容直载复到的一个数据盘的目录,然后将原目录改名,然后建个连接。

service docker stop
cd /data
mkdir docker
cp -rf /var/lib/docker /data/docker
cd /var/lib
mv docker docker.bak
ln -s /data/docker /var/lib/docker
service docker start

#5 验证构建ubuntu 14.04镜像

结果构建过程一切顺利,项目已经能正常运行起来了。。。

© 著作权归作者所有

共有 人打赏支持
janl
粉丝 4
博文 54
码字总数 25734
作品 0
石家庄
程序员
私信 提问
正确使用Dockerfile中的ENTRYPOINT命令

正确使用Dockerfile中的ENTRYPOINT命令 目录 作者:杨冬 欢迎转载,也请保留这段声明。谢谢! 出处:https://andyyoung01.github.io/ 或 http://andyyoung01.16mb.com/ 如何正确地构建Docke...

小祁1124
2016/11/26
97
0
CentOS7安装Docker,运行Nginx镜像、Centos镜像

1、环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2、通过yum命令直接安装,yum install docker 3、启动Docker,并将其设置为开机启动 (1)启动,systemctl start docker.service (2)开...

GKTest
2015/07/02
0
5
在 ubuntu 搭建 docker registry 私有仓库

为什么要搭建 docker 私有仓库 原因有几个: 项目需要,不希望将项目放到 docker hub 上。 环境需求,考虑网络、效率的问题,希望在私有服务器上建立自用的仓库,提高便利性和访问速度。 可以...

hello_cjq
2018/02/10
0
0
docker-registry server部署

docker-registry server部署 有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。 是官方提供的工具,可以用于构建私有的镜像仓库。 环境准备 操作系统:...

张富贵
2015/11/18
0
0
Docker 之 基于容器的镜像制作

1 概述 镜像包含启动容器所需的文件系统和内容,可以理解为打包的文件,用于创建并启动docker容器。 镜像的生成途径有三个: 1.基于dockerfile实现,镜像制作的程序文件 2.基于容器实现,启动...

ghbSunny
2018/08/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

精品书籍推荐

JavaScript书籍推荐 1、[JavaScript高级程序设计(第3版)] 2、你不知道的JavaScript(中卷) 3、ES6标准入门(第二版)阮一峰

轻轻的往前走
14分钟前
2
0
JVM(六)为什么新生代有两个Survivor分区?

本文会使用排除法的手段,来讲解新生代的区域划分,从而让读者能够更清晰的理解分代回收器的原理,在开始之前我们先来整体认识一下分代收集器。 分代收集器会把内存空间分为:老生代和新生代...

王磊的博客
19分钟前
5
0
程序员最喜欢的15款文本编辑器推荐

程序员最喜欢的15款文本编辑器推荐 2017年09月18日 17:30:50 kangle_zhu 阅读数:59390 转载地址:http://www.cr173.com/html/50553_1.html 很多时候比如编程查看代码或者打开各种文档下我们...

linjin200
21分钟前
6
0
如何在php后端及时推送消息给客户端

walkor大神,目前需求是这样的: 有一群商家在后台网页处理批量导入产品 -》 服务器接受请求 -》 开始foreach一个一个处理导入请求; 我现在想每成功导入一个就推送到前台显示已经导入成功,...

dragon_tech
40分钟前
13
0
Java利用hanlp完成语句相似度分析的案例详解

分享一篇hanlp分词工具使用的小案例,即利用hanlp分词工具分析两个中文语句的相似度的案例。供大家一起学习参考! 在做考试系统需求时,后台题库系统提供录入题目的功能。在录入题目的时候,...

左手的倒影
46分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部