Dockerfile文件解释

一、先来看一个简单的 Dockerfile

#这个Dockerfile作用是打一个python3项目环境 
FROM python:3-alpine 
WORKDIR /app 
ADD . /app 
RUN pip3 install -r requirements.txt -i https://pypi.douban.com/simple 
CMD ["python3", "main.py"] 

#这个Dockerfile作用Dockerfile部署django项目 
FROM centos:7 
MAINTAINER annlin 
ADD requeriments.txt /home 
WORKDIR /home 
RUN yum update && yum -y install mysql && yum -y install python3-pip && pip3 install -r requirements.txt 
ADD autoTest /home/ WORKDIR /home/autoTest 
EXPOSE 8000 
ENTRYPOINT uwsgi --ini uwsgi.ini

二、Dockerfile 编写规则

  1. 指令大小写不敏感,为了区分习惯上用大写
  2. Dockerfile 非注释行第一行必须是 FROM
  3. 文件名必须是 Dockerfile
  4. Dockerfile 指定一个专门的目录为工作空间
  5. 所有引入映射的文件必须在这个工作空间目录下
  6. Dockerfile 工作空间目录下支持隐藏文件(.dockeringore)
  7. (.dockeringore)作用是用于存放不需要打包导入镜像的文件,根目录就是工作空间目录
  8. 每一条指令都会生成一个镜像层,镜像层多了执行效率就慢,能写成一条指定的就写成一条

三、Dockerfile 指令详解

1、FROM:基础镜像

1.1、FROM是Dockerfile文件开篇第一个非注释行代码

1.2、用于为镜像文件构建过程指定基础镜像,后续的指令都基于该基础镜像环境运行

1.3、基础镜像可以是任何一个镜像文件

1.4、docker build 会在docker宿主机上查找指定的文件,如未找到会自动去Docker Hub Registry上拉取

1.5、如果没找到对应的镜像就会返回错误信息

2、MAINTAINER:镜像作者信息

2.1、废弃了,使用LABLE替代

3、LABLE:镜像描述信息

3.1、LABLE author="annlin"

4、COPY:从 Docker 宿主机复制文件至创建的新镜像文件

4.1、COPY <src> <dest>

4.2、COPY ["<src>",.... "<dest>"]

4.3、<src>:要复制的源文件或目录,支持使用通配符

?????1、<src>必须是build上下文中的路径,不能是其父目录路径

?????2、如果<src>是目录,则其内部文件和子目录都会被递归复制,但是<src>目录本身不

????????会被复制

?????3、如果指定了多个<src>,或者<s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值