美文网首页
Dockerfile自动做镜像

Dockerfile自动做镜像

作者: 早_wsm | 来源:发表于2019-07-13 13:57 被阅读0次

dockerfile

构建dockerfile三步:

  • 1.编写Dockerfile文件
  • 2.docker biuld
  • 3.docker run

自动制作镜像

dockerfile主要组成部分:

FROM 基础镜像信息                 centos:6.9
RUN    制作镜像操作指令          yum install openssh-server -y
CMD    容器启动时执行指令       ["/bin/bash"]

dockerfile常用指令:

FROM 这个镜像的妈妈是谁?(指定基础镜像)
MAINTAINER 告诉别人,谁负责养它?(指定维护者信息,可以没有)
LABLE      描述,标签
RUN 你想让它干啥(在命令前面加上RUN即可)
ADD 给它点创业资金(会自动解压tar)  制作docker基础的系统镜像
WORKDIR 我是cd,今天刚化了妆(设置当前工作目录)
VOLUME 给它一个存放行李的地方(设置卷,挂载主机目录)
EXPOSE 它要打开的门是啥(指定对外的端口)(-P 随机端口)
CMD 奔跑吧,兄弟!(指定容器启动后的要干的事情)(容易被替换)

dockerfile其他指令:

COPY 复制文件(不会解压)
ENV  环境变量
ENTRYPOINT  容器启动后执行的命令(无法被替换,启容器的时候指定的命令,会被当成参数)

制作一个dockerfile

  • 1.创建dockerfile目录并写入dockerfile

dockerfile 此文件只能以dockerfile命名,写成其他名字不能执行

mkdir /opt/dockerfile/centos:6.9_ssh -p
cd /opt/dockerfile/centos:6.9_ssh 
vim dockerfile

[root@docker centos:6.9_ssh]# cat dockerfile 

FROM  centos:6.9
RUN yum install openssh-server -y
RUN service sshd start
RUN echo '123456'|passwd --stdin root
CMD ["/usr/sbin/sshd","-D"]
  • 2.执行docker image build

docker image build -t centos6.9_ssh /opt/dockerfile/centos6.9_ssh
#此时启动容器不用在后面加执行命令,因为dockerfile里已写入CMD,dockerfile代执行启动命令
[root@docker centos6.9_ssh]# docker run -d -p 1022:22 centos6.9_ssh:latest 
91ef283d1add01a5996bb876741ce6ed42abb9bfb4976970a70f2c9987498355
[root@docker centos6.9_ssh]# docker ps 
CONTAINER ID        IMAGE                  COMMAND               CREATED             STATUS              PORTS                                        NAMES
91ef283d1add        centos6.9_ssh:latest   "/usr/sbin/sshd -D"   26 seconds ago      Up 24 seconds       0.0.0.0:1022->22/tcp                         gallant_gates

此时在本地测试下ssh容器服务是否可以使用,发现可正常使用

相关文章

网友评论

      本文标题:Dockerfile自动做镜像

      本文链接:https://www.haomeiwen.com/subject/gdopkctx.html