对DOCKER构建镜像的实践心得体会
参考:https://www.cnblogs.com/Bourbon-tian/p/6867796.html
首先Docker镜像创建方式基于两种:
- 一种是基于容器commit生成镜像
- 第二种是的基于Dockerfile文件构建(推荐使用这种)
第二种可以在构建的过程中,如果出现问题,基础构建出的上一层容器,进入交互式,执行下一条命令测试哪里有文件,然后修改Dockerfile文件再次构建
其中有个更重要的概念是上下文,Docker构建是基于context上下文的
参考:http://www.cnblogs.com/lfxiao/p/9594185.html 这篇文章解释的很清楚,真正构建镜像的时候是在Docker引擎上执行的,所以需要上写文。
文章最后还介绍了本地仓库的搭建使用方法,其中如何查看本地仓库的镜像参考:https://blog.csdn.net/hongweigg/article/details/78789638
从本地仓库拉取或推送参考:https://blog.csdn.net/qq_16912257/article/details/78528562
我的实验环境是:
- VMWare12
- CentOS7
- docker已经安装好
按照上文的参考地址,其中ubuntu的NGINX默认起始页的位置在:
/var/www/html/index.nginx-debian.html
构建镜像实践过程中的采坑记录:
1、错误一:
[Warning] IPv4 forwarding is disabled. Networking will not work.
原因是:主机没有配置ipv4所以在容器中无法上网
解决方法:
- echo ‘net.ipv4.ip_forward=1’ >> /usr/lib/sysctl.d/00-system.conf
- 重启网卡和docker服务
参考:http://blog.51cto.com/11804445/2055911
![在这里插入图片描述](https://img-blog.csdnimg.cn/20181213234717979.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODE3MTYwMg==,size_16,color_FFFFFF,t_70)
2、错误二:
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/InRelease Temporary failure resolving ‘archive.ubuntu.com’
原因:本地时间不同步
解决方案:ntpdate asia.pool.ntp.org
参考:http://www.mamicode.com/info-detail-2375191.html