• docker基础


    ---恢复内容开始---

    1.容器在执行完命令后会停止运行

    2.容器=镜像+可读写文件

    3.创建镜像

    文件统一系统支持镜像叠加,可在基础镜像之上根据需要加入新的镜像

    4.dockerfile文件

    由一组有序指令和参数构成,每条指令被执行后都会生成并提交一个新的镜像层

    5.若dockerfile中某条指令执行失败,之前的指令会提交一个正确的镜像

    6.构建缓存的概念

    若某个dockerfile被执行过,再次执行此文件时,被执行过的指令不会再次被执行,docker从第一条尚未被执行过的指令开始指向dockerfile文件

    优点:利用已经生成的镜像,节省重新生成镜像所需的时间

    缺点:有时需要消除缓存,使执行过的指令重新执行

    完全消除缓存的方法:

    docker  build  --no-cache

    局部消除缓存的方法:

    若某条指令需要重新执行,可在它之前加入一条新指令或对他之前的指令做修改

    ---恢复内容结束---

    1.容器在执行完命令后会停止运行

    2.容器=镜像+可读写文件

    3.创建镜像

    文件统一系统支持镜像叠加,可在基础镜像之上根据需要加入新的镜像

    4.dockerfile文件

    由一组有序指令和参数构成,每条指令被执行后都会生成并提交一个新的镜像层

    5.若dockerfile中某条指令执行失败,之前的指令会提交一个正确的镜像

    6.构建缓存的概念

    若某个dockerfile被执行过,再次执行此文件时,被执行过的指令不会再次被执行,docker从第一条尚未被执行过的指令开始指向dockerfile文件

    优点:利用已经生成的镜像,节省重新生成镜像所需的时间

    缺点:有时需要消除缓存,使执行过的指令重新执行

    完全消除缓存的方法:

    docker  build  --no-cache

    局部消除缓存的方法:

    若某条指令需要重新执行,可在它之前加入一条新指令或对他之前的指令做修改

    使用docker pull下载镜像时失败的原因可能是网速太慢,可以用阿里云之类的加速器

    docker0好像捕捉不到数据包?

    答:可能是有延迟,等一会看看

    外部无法与容器应用进行主动通信是为什么?

    答:因为docker容器端口没有对外公开,在dockerfile里或docker run 时应对外公开应用的端口

    公开端口时可能出现如下错误:

    COMMAND_FAILED: '/sbin/iptables -t nat -A Docker -p tcp -d 0/0 --dport 8111 -j DNAT --to-destination 172.17.0.6:8111 ! -i docker0' failed: iptables: No chain/target/match by that name.

    解决方法如下:

    pkill docker

    iptables -t nat -F
    ifconfig docker0 down

    brctl delbr docker0

    重启docker后解决

    docker容器若停止运行,则对外公开的端口会失效

    Dockerfile构建镜像

    创建一个dockerfile文件的步骤:

    1.创建一个新目录

    2.进入这个目录

    3.在新建目录下创建Dockerfile

    4.在当前目录下执行docker build命令

    docker容器为最小化安装,不带网络命令,可执行yum install net-tools,下载命令包

  • 相关阅读:
    字符匹配算法之KMP
    rabbitmq_hearbeat
    rabbitmq_config
    postgres SQL编译过程
    postgres启动过程分析
    postgres源码目录结构
    Js两种post方式(转)
    PHP-MySQL,PHP-MySQLi,PDO的差异
    CSS属性中Display与Visibility的不同
    PHP中include路径修改
  • 原文地址:https://www.cnblogs.com/adelep/p/6500802.html
Copyright © 2020-2023  润新知