一文读懂Docker之Dockerfile基本使用

目录

一、基本指令

1、FROM指令

2、MAINTAINER指令

3、RUN指令

4、CMD指令

5、ENTRYPOINT指令

6、ENV指令

7、COPY指令

8、EXPOSE指令

9、LABEL指令

10、WORKDIR指令

二、Shell格式和Exec格式的区别

1、Shell格式

2、Exec格式

三、CMD指令详解

步骤一、定义一个Dockerfile

步骤二、构建镜像image

步骤三、演示正常创建容器

步骤四、演示docker run指定了其他命令,CMD命令会被忽略

四、Dockerfile实战

步骤一、创建路径

步骤二、创建app.py文件

步骤三、创建Dockerfile

步骤四、创建镜像image

步骤五、使用新建的image运行容器


注意:

名称必须为Dockerfile

需要保证路径下只有一个Dockerfile文件

一、基本指令

1FROM指令

  • 设置继承镜像

FROM centos:1.0

若本地有标签为centos:1.0的镜像,则直接使用,否则去镜像仓库下载

2MAINTAINER指令

  • 提供作者信息

MAINTAINER BenjunLu (269793494@qq.com)

3、RUN指令

  • 执行命令并创建新的Image Layer

RUN yum -y update && \

yum install -y net-tools && \

yum install -y wget

4、CMD指令

  • 设置容器启动后默认执行的命令和参数
  • 如果docker run指定了其他命令,CMD命令会被忽略
  • 如果定义了多个CMD,只有最后一个会执行

CMD [ "/bin/echo" , "hello docker" ]

5、ENTRYPOINT指令

  • 设置容器启动时运行的命令
  • 让程序以应用程序或者服务的形式运行
  • 不会被忽略,一定会执行

ENTRYPOINT [ "/bin/bash" , "-c" , "echo hello docker" ]

6、ENV指令

  • 设置环境变量

ENV name Docker

设置name变量的值为Docker

7、COPY指令

  • 复制本地文件到image

COPY app.py /app/

注意:路径最后必须带“/”,不然会复制成一个文件

8、EXPOSE指令

  • 暴露容器端口

EXPOSE 27017

暴露容器端口为27017

9、LABEL指令

  • 设置标签

10、WORKDIR指令

  • 设置容器启动后的工作目录

WORKDIR /app

二、Shell格式和Exec格

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野熊佩骑

您的鼓励是我持续创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值