博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dockerfile创建镜像
阅读量:2337 次
发布时间:2019-05-10

本文共 1226 字,大约阅读时间需要 4 分钟。

Dockerfile中的主要内容

  • FROM 它的妈妈是谁(基础镜像)
  • MAINTAINER 告诉别人,你创建了他(维护者信息)
  • RUN 你让他干什么(在命令前面加上RUN)
  • ADD 往他肚子里放点文件(COPY文件,会自动解压)
  • WORKDIR 我是cd,(就是cd命令)
  • VOLUME 给我一个存放行李的地方(目录挂载)
  • EXPOSE 我要打开的门是什么(端口)
  • RUN 进程要一直运行下去
  • ENTRYPOINT
  • CMD

RUN:设置构件容器时就运行的命令以及提交运行结果,RUN经常用于安装软件包。dockerfile中可以写多条RUN指令

CMD:设置容器启动时执行的命令,在构件时并不运行,CMD能够被docker run后面跟的命令行参数替换。dockerfile中只能写一条CMD指令,如果写了多条,那么只有最后一条生效。
ENTRYPOINT:设置容器启动时执行的命令,ENTRYPOINT不能被docker run后面跟的命令行参数替换。dockerfile中只能写一条ENTRYPOINT指令,如果写了多条,那么只有最后一条生效。

如果dockerfile中出现了ENTRYPOINT 会覆盖CMD(也就是数CMD执行的命令不会执行)

Dockerfile内容大体分为4部分

  • 1 基础镜像信息
  • 2 维护者信息
  • 3 镜像操作指令
  • 4 容器启动时执行指令

 

编写dockerfile

#this docker file#Version 1#Author: XXXX#Base imageFROM centosMAINTAINER XXXX XX@qq.com#CommandsRUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm && yum -y install nginxADD index.html /usr/share/nginx/html/index.htmlRUN echo "daemon off;" >> /etc/nginx/nginx.confEXPOSE 80CMD ["nginx"]

注:在Dockerfile文件中每运行一个RUN就会在构建镜像时多加一层,所以多个RUN利用&&合并起来会较少构建镜像的层数

 

mkdir -p /opt/dockerfile/nginx

cd /opt/dockerfile/nginx/

vim Dockerfile

注:Dockerfile中ADD添加的文件必须要与Dockerfile文件在同一目录下 Dockerfile必须这个名字

vim index.html

docker build -t mynginx:v3 ./

  •  -t: 镜像的名字及标签
  • ./ Dockfile文件的路径

 

创建完镜像后启动容器

docker run -d -p 80:80 mynginx:v3

 

 

 

 

 

 

 

 

 

转载地址:http://lmepb.baihongyu.com/

你可能感兴趣的文章
AIX 安全命令
查看>>
AIX故障定位
查看>>
AIX运行级别介绍
查看>>
Linux zombie进程
查看>>
Linux 的僵尸(zombie)进程
查看>>
linux chmod 命令详解 改变文件属性
查看>>
并发编程实战学习笔记(九)-显式锁
查看>>
并发编程实战学习笔记(十)-构建自定义的同步工具
查看>>
并发编程实战学习笔记(十一)-原子变量与非阻塞同步机制
查看>>
分布式系统的事务处理
查看>>
硅胶制品为何丝印后字符会掉?
查看>>
模压硅胶产品成型后加工工艺
查看>>
印花硅胶模压成型跟丝印成型产品有什么区别
查看>>
简述:为什么硅胶按键要使用镭雕工艺?
查看>>
在硅胶产品表面处理中,丝印、移印与镭雕的区别
查看>>
java 内存模型:重排序
查看>>
spring IOC容器:控制反转
查看>>
处理器重排序与内存屏障
查看>>
Java内存模型 之三个特性:
查看>>
Java内存 happens-before原则
查看>>