Docker学习笔记(3)之dockerfile编写

本文详细介绍了Dockerfile的各个关键指令,包括FROM、MAINTAINER、ENV、RUN、ADD、COPY、EXPOSE、CMD、WORKDIR、VOLUME等,并提供了案例说明如何编写Dockerfile以构建和运行容器。同时,还概述了Dockerfile的使用流程,从编写文件到构建镜像和运行容器的步骤。
摘要由CSDN通过智能技术生成

1 案例

编写Dockerfile,生成docker镜像,要求启动容器时自动启动服务
dockerfile执行build命令,从上到下依次组成部分

            主要部分                              代表性命令
        基础镜像信息                      FROM
        维护者信息                          MAINTAINER
        镜像操作指令                      RUN、COPY、ADD、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME、ENV等
        容器启动时执行指令           CMD、ENTRYPOINT
  1. dockerfile:
    # 设置基础构建镜像
    FROM [base镜像]
    # 设置创建者的基本信息
    MAINTAINER [name]
    # 设置环境变量
    ENV
    # 安装相关软件
    RUN 
    # 将本地需要的配置信息添加到镜像中
    ADD run.sh /run.sh
    # 修改文件的执行权限
    RUN chmod +x /
    # 暴露端口进行主机映射
    EXPOSE
    # 构建容器后,容器启动运行可能是bash文件
    CMD ["/run.sh"]
    
  2. run.sh
    #!/bin/bash 声明解释器:使用bash来运行该文件 bash run.sh
    <解释器> <脚本文件>
    例如:
    #!/bin/bash 就等于 bash <脚本文件>
    使用其他解释器
    现在我们修改解释器,改为#!/bin/cat
    #!/bin/cat
    echo hello

2 综合命令详解

2.1 FROM

FROM:指定基础镜像,必须为dockerfile中的第一个命令

格式:
  FROM <image>
  FROM <image>:<tag>
  FROM <image>@<digest>
示例:
  FROM mysql:5.6
注:
  tag或digest是可选的,如果不使用这两个值时,会使用latest版本的基础镜像
复制代码

2.2 MAINTAINER: 维护者信息

格式:
    MAINTAINER <name>
示例:
    MAINTAINER Jack
    MAINTAINER jack@163.com
    MAINTAINER Jack <jack@163.com>

2.3 ENV:设置环境变量

格式:
    ENV <key> <value>  #<key>之后的所有内容均会被视为其<value>的组成部分,因此,一次只能设置一个变量
    ENV <key>=<value> ...  #可以设置多个变量,每个变量为一个"<key>=<value>"的键值对,如果<key>中包含空格,可以使用\来进行转义,也可以通过""来进行标示;另外,反斜线也可以用于续行
示例:
    ENV myName John Doe
    ENV myDog Rex The Dog
    ENV 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值