一个神奇的文件Dockerfile

来源:互联网 发布:自动变速箱编程 编辑:程序博客网 时间:2024/06/14 13:14

一.简介

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
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
==============================================================================
四.Docker Build的其他用发

1.直接用 Git repo 进行构建

docker build https://github.com/twang2218/gitlab-ce-zh.git#:8.14docker build https://github.com/twang2218/gitlab-ce-zh.git\#:8.14Sending build context to Docker daemon 2.048 kBStep 1 : FROM gitlab/gitlab-ce:8.14.0-ce.08.14.0-ce.0: Pulling from gitlab/gitlab-ceaed15891ba52: Already exists773ae8583d14: Already exists
2.用给定的 tar 压缩包构建

docker build http://server/context.tar.gz
3.从标准输入中读取 Dockerfile 进行构建

docker build - < Dockerfile或cat Dockerfile | docker build -
4.从标准输入中读取上下文压缩包进行构建

docker build - < context.tar.gz

0 0
原创粉丝点击