首页 > 其他 > 详细

使用Dockerfile构建镜像

时间:2021-03-29 20:34:37      阅读:36      评论:0      收藏:0      [点我收藏+]

Dockerfile文件内容

FROM centos
RUN <命令行命令>     # 多个命令之间用&&连接
COPY <源路径>  <目标路径>      # 从上下文目录中复制文件或目录到容器里制定路径
ADD  <源路径>  <目标路径>        # 功能同ADD类似,官方推荐COPY
CMD  <命令行命令>    # 类似于RUN,RUN是在docker build时运行,CMD是在docker run时运行。作用是为启动的容器制定默认要运行的程序,如果Dockerfile中有多个CMD指令,仅最后一个生效,同时可被docker run命令行参数中指定要运行的程序所覆盖。
ENTRYPOINT  <命令行命令>   # 类似于CMD,但是在docker run的时候不会被覆盖。可以搭配CMD使用
ENV   <key1>=<value1> <key2>=<value2>   # 设置环境变量,例如ENV NODE_VERSION 7.2.0  ,后续指令中可以通过$NODE_VERSION引用
ARG   # 与 ENV 作用一至。不过作用域不一样。ARG仅针对Dockerfile内有效,镜像内无效
VOLUME  ["<路径1>", "<路径2>"]     # 定义匿名数据卷,在启动容器时忘记挂载数据卷,会自动挂在口上到匿名卷
EXPOSE  <端口>        # 仅仅只是声明一下端口,以方便使用人员配置映射
WORKDIR  <指定工作目录>

容器内启动程序及参数

假设已经通过以下dockerfile构建了nginx镜像

FROM nginx

ENTRYPOINT ["nginx", "-c"] # 定参
CMD ["/etc/nginx/nginx.conf"] # 变参 
  • 不传参运行
    docker run nginx 容器内会默认运行以下命令来启动进程 nginx -c /etc/nginx/nginx.conf
  • 传参运行
    docker run nginx -c "/etc/nginx/new.conf" 容器内会默认运行以下命令来启动进程 nginx -c /etc/nginx/new.conf

构建命令

docker build -t nginx:v3 .

使用Dockerfile构建镜像

原文:https://www.cnblogs.com/pyweb/p/14593559.html

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