一.简介
Dockerfile是一个文本文件,由一条一条的指令组成,每一条指令构建一层,每一条指令的内容描述该层是怎么创建的。
二.创建一个Dockerfile
以Nginx为例
=============================================================================
root@node4:~# mkdir webNginx
root@node4:~# cd webNginx/
root@node4:~/webNginx# touch Dockerfile
root@node4:~/webNginx#
=============================================================================
Dockerfile中涉及到两条指令FROM和RUN
--->FROM是指定基础镜像,所谓的定制镜像就是以一定的镜像为基础,定制出符合自己需求的镜像,因此FROM这条指令是必须有的
--->RUN是执行命令行的命令,其有两种格式
a.shell格式:RUN <命令>,类似Dockerfile中的形式
b.exec格式:
RUN ["可执行文件", "参数1", "参数2"]
三.构建镜像
构建镜像的命令-->docker build [OPTIONS] PATH | URL | -
==============================================================================
root@node4:~/webNginx# docker build /root/webNginx -t nginx:v3
四.Docker Build的其他用发
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM nginx
---> 19146d5729dc
Step 2 : RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
---> Running in 9ea70787ae5c
---> b4a2730085ac
Removing intermediate container 9ea70787ae5c
Successfully built b4a2730085ac
==============================================================================
1.直接用 Git repo 进行构建
docker build https://github.com/twang2218/gitlab-ce-zh.git#:8.14
docker build https://github.com/twang2218/gitlab-ce-zh.git\#:8.14
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM gitlab/gitlab-ce:8.14.0-ce.0
8.14.0-ce.0: Pulling from gitlab/gitlab-ce
aed15891ba52: Already exists
773ae8583d14: Already exists
2.用给定的 tar 压缩包构建
docker build http://server/context.tar.gz
3.从标准输入中读取 Dockerfile 进行构建
docker build - < Dockerfile或cat Dockerfile | docker build -
docker build - < context.tar.gz