首页 > 其他 > 详细

使用Dockerfile创建docker镜像

时间:2020-02-19 22:51:04      阅读:67      评论:0      收藏:0      [点我收藏+]

一个完整的Dockerfile文件如下:

FROM centos
MAINTAINER xin_yang_zhang@hotmail.com
RUN yum -y update
RUN yum -y install httpd
EXPOSE 80
ADD index.html /var/www/html/index.html
CMD ["httpd","-DFOREGROUND"]

 由上可知,Dockerfile文件分为以下几个部分:

(1)基础镜像信息。

(2)维护者信息。

(3)镜像操作指令。

(4)容器启动时执行的指令。

上一张网络摘抄来的图片简要说明以上四个部分的功能和特点:

技术分享图片

FROM

指明构建的新镜像是来自于哪个基础镜像,例如本例为centos:latest。

FROM centos:latest

MAINTAINER

指明镜像维护者的信息。

RUN

创建镜像时运行的shell命令,例如本例的:

RUN yum -y install httpd

CMD

启动容器时执行的shell命令,例如本例的:

CMD ["httpd","-DFOREGROUND"]

EXPOSE

声明容器运行的服务端口,例如本例:

EXPOSE 80

ADD

拷贝文件到镜像中,例如本例添加了apache首页。

ADD index.html /var/www/html/index.html

 创建步骤

 Step1:创建目录和网页文件

[root@RHEL docker]# mkdir httpd

[root@RHEL httpd]# vi index.html 

 

[root@RHEL httpd]# tree
.
├── Dockerfile
└── index.html

 

 Step2:编写Dockerfile文件

FROM centos
MAINTAINER xin_yang_zhang@hotmail.com
RUN yum -y update
RUN yum -y install httpd
EXPOSE 80
ADD index.html /var/www/html/index.html
CMD ["httpd","-DFOREGROUND"]

 Step3:打包镜像

[root@RHEL httpd]# docker build -t httpd:v1 . 

 Step4:查看打包的镜像

[root@RHEL httpd]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd v1 2addebe7b7c7 25 seconds ago 412 MB
php 7.2.27 b689f74d5938 2 hours ago 678 MB
docker.io/centos latest 470671670cac 4 weeks ago 237 MB
docker.io/busybox latest 6d5fcfe5ff17 7 weeks ago 1.22 MB
docker.io/mysql 8.0.12 ee1e8adfcefb 16 months ago 484 MB

 Step5:运行一个容器,验证

[root@RHEL httpd]# docker run -d -p 80:80  --name web httpd:v1

[root@RHEL httpd]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eca3ba6b6082 httpd:v1 "httpd -DFOREGROUND" 4 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp web

浏览器访问

技术分享图片

 其他指令说明:

ENV 环境变量

例如:ENV JAVA_HOME /usr/local/jdk1.8.0_45

COPY 拷贝文件和目录到镜像中,但不支持自动下载和解压。

ENTRYPOINT 启动容器时执行的指令,不会被docker run覆盖。

VOLUME 指定容器到宿主机自动生成的目录。

USER 

USER <user>[:<usergroup>]

WORKDIR

WORKDIR /usr/local

 

使用Dockerfile创建docker镜像

原文:https://www.cnblogs.com/networking/p/12333422.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!