Docker-入门基础知识(2)

八、Dockerfile详解

  1. 指令格式
    在这里插入图片描述

  2. 指令------> FROM

    FROM <image>:指定镜像
    FROM <image>:<tag>:指定确认镜像
    
  3. 指令------> MAINTAINER

    MAINTAINER <name>:指定镜像的作者信息,包含镜像的所有者和联系信息
    
  4. 指令------> RUN

    指定当前镜像中运行的命令, 它是在镜像构建中运行

    RUN <command>:shell模式
    
    RUN <command1> && <command2> 可运行多条指令
    
    RUN ["excutable", "param1", "param2"]:exec模式
    
  5. 指令------> EXPORT

    指定运行该镜像的容器使用的端口

    EXPORT <port> 或 EXPORT [<port>.....] :指定一个或多个端口
    

    使用时得再指定暴漏端口:
    在这里插入图片描述

  6. 指令------> CMD

    在容器运行时执行,会被run中指定的运行命令覆盖

    CMD ["excutable", "param1", "param2"]:exec模式
    CMD command param1 param2:shell模式
    CMD ["param1", "param2"]:作为ENTRYPOINT指令的默认参数
    
  7. 指令------> ENTRYPOINT

    在容器运行时执行,不会被run中指定的运行命令覆盖

    ENTRYPOINT ["excutable", "param1", "param2"]:exec模式
    ENTRYPOINT  command param1 param2:shell模式 
    
  8. 指令------> ADD

    复制本地文件到Docker容器中
    ADD包含类似tar的解压功能,如果单纯复制文件,docker推荐使用COPY

    ADD <src>...<dest>
    ADD ["<src>"......"<dest>"]:适用于文件路径中有空格的情况
    
  9. 指令------> COPY

    复制本地文件到docker容器中

    COPY <src>...<dest>
    COPY ["<src>"......"<dest>"]:适用于文件路径中有空格的情况
    
  10. 指令------> VOLUME

    为创建的容器添加卷

    VOLUME ["/data"]
    
  11. 指令------> WORKDIR

    在创建容器时添加一个工作目录

       WORKDIR /path/to/workdir
    

    在这里插入图片描述

    a/b/c
    
  12. 指令------> ENV

    创建环境变量

    ENV <key> <value>
    ENV <key>=<value> ......
    
  13. 指令------> USER

    镜像为什么样的用户去运行

    (1)USER daemon

    例如: USER nginx:以nginx的用户的身份去运行
    

    (2)多种方式指定
    在这里插入图片描述

  14. 指令------> ONBUILD

    为镜像添加触发器,当一个镜像被其他镜像作为基础镜像时执行,会在构建过程中添加指令

    ONBUILD [INSTRUCTION]
    

九、Dockerfile构建

  1. Dockerfile构建过程

    在这里插入图片描述

  2. 构建不使用缓存
    在这里插入图片描述

  3. 查看镜像构建的过程
    在这里插入图片描述

十、容器的网络连接

  1. docker0
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    查看网条规则: brctl show
    在这里插入图片描述

  2. 自定义虚拟网桥
    在这里插入图片描述

  3. 容器的互联

    (1)准备Dockerfile:

    在这里插入图片描述
    (2)允许所有容器互联

    给连接取个别名,以防对方ip改变
    在这里插入图片描述
    (3) 拒绝所有容器互联

    在这里插入图片描述
    (4) 允许特定容器间的连接
    在这里插入图片描述

  4. 容器与外部网路的连接
    在这里插入图片描述
    (1)允许流量转发

    在这里插入图片描述
    (2)iptables

    在这里插入图片描述在这里插入图片描述

    1)查看规则:iptables -t filter -L -n

    2)阻止访问:iptables -I DOCKER -s 192.168.2.223 -d 172.17.0.5 -p TCP --dport 80 -j DROP

       -i: 对象
       -s: 宿主机地址
       -d:容器地址
       -p:类型
       -j:状态 
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值