• docker第二篇:docker compose


    compose是编排的意思。为什么需要docker compose呢?

    docker-compose命令要在docker-compose.yml文件所在目录中执行,否则会报错。

    docker-compose.yml中内容:

    network_mode:可选值有bridge、host、none、service:[service name]、container:[container name/id]

    bridge模式下,

    host模式下,docker不会为容器创建单独的network namespace,而是共享宿主机的network namespace,在容器中执行ifconfig和在宿主机上执行ifconfig,结果是一样的,且宿主机占用的端口和容器内应用占用的端口一致。假如容器内应用占用10000端口,则访问http://宿主机IP:10000,就可以访问到容器内的应用了。就好像把容器内应用暴露到宿主机中了。在宿主机上用netstat命令查出PID,用ps命令查看此PID,和在容器中用netstat命令查出PID,用ps命令查看此PID的结果是一样的,都可以看出来容器内应用的启动命令是什么。有3个注意点,1、此时ports是不生效的,可以不设置ports,设置了也不生效。如果是docker run命令起来的话,同时指定-p xx:yy --network=host,会提示WARNING: Published ports are discarded when using host network mode的。2、因为占用了宿主机的端口,所以只能创建一个容器,再起一个容器,如果不改变容器内应用占用的端口的话,就起不来,启动会报address already in use。3、用docker ps或者docker-compose ps查看时,PORTS列值是空的,没有数据。

    none模式下,

    如果不指定network_mode的话,如果用docker-compose up在前端启动,则可以看到会输出Creating network "xxx_default" with the default driver这样的日志。这个时候,在宿主机执行ifconfig命令,可以看到,

    在宿主机安装docker的命令补全工具bash-completion。

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    2.5.3 表单过滤器
    2.5.2 子过滤器
    2.5.1 位置过滤器:
    2.4 通过属性来选择元素
    2.3 根据层级查找元素
    2.2.4 元素选择器
    2.2.3 Class选择器
    2.2.2 ID选择器
  • 原文地址:https://www.cnblogs.com/koushr/p/12938861.html
Copyright © 2020-2023  润新知