Dockerfile

Posted 非淡泊无以明志,非宁静无以致远 - 长安快马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dockerfile相关的知识,希望对你有一定的参考价值。

Dockerfile文件那些事(一)
Dockerfile是用来构建镜像的,该文件中有这么几个指令:
FROM
MAINTAINER
RUN
EXPOSE
上面这四个指令以后咱们慢慢说他们的作用
还有几个常用的指令:
CMD
ENTERYPOINT
ADD
COPY
VOLUME
WORKDIR
ENV
USER
这些命令就算我都说了也记不住,咱们边学边记忆.
 
先说下Dockerfile构建过程
1.从基础镜像运行一个容器
2.执行一条指令,对容器作出修改
3.执行类似docker commit的操作,提交一个新的镜像层
4.再基于刚提交的镜像运行一个新容器
5.执行Dockerfile中的下一跳指令,直至所有指令执行完毕.
[email protected]:/# mkdir -p dockerfile/df_test2/
[email protected]:~# cd dockerfile/df_test2/
[email protected]:~/dockerfile/df_test2# vim Dockerfile
文件的内容如下:
FROM ubuntu
MAINTAINER syx ‘[email protected]
RUN apt-get update && apt-get install -y nginx
EXPOSE 80
先别管这些指令啥意思,你先猜猜
楼主为了简单起见,用了最简单的指令来组成一个Dockerfile.注意这个文件的名字必须叫Dockerfile.
[email protected]:~/dockerfile/df_test2# docker build -t="syx/df_test2" .
之后,经过漫长的等待,楼主一共就这么几行命令就执行了快一个小时,而且中间还在不停的出错.可想而知如果指令挺多会怎样了,楼主正在想办法解决在构建Dockerfile的时候挺慢的问题,如果你有好的办法请不吝赐教.谢谢!!
[email protected]:~/dockerfile/df_test2# docker build -t="syx/df_test2" .
[email protected]:~/dockerfile/df_test2# docker images
能看到我们自己构建的镜像了.
是不是很神奇,在这里你需要确保你的机器能够上网,楼主搞不懂为啥在构建Dockerfile的时候是如此的缓慢,楼主在使用Dockerfile构建镜像的时候是从http://archive.ubuntu.com/ubuntu这个网站上pull的内容,这个网站是国外的,需要FQ或者通过一定的手段才能快速的pull东西.楼主暂时也不会FQ,也没啥好的手段,如果你有,请指点一二!!!

以上是关于Dockerfile的主要内容,如果未能解决你的问题,请参考以下文章

Docker重学系列之Dockerfile

Docker 从入门到进阶七:DockerFile 与 Docker Compose

Dockerfile

Dockerfile

dockerDockerFile

docker建镜像