• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Docker 基础网络配置详解

    外部访问

    随机映射端口

    使用 -P 标记,Docker会随机映射一个49000-49900的端口到内部容器开放的网络端口
    docker run -d -P training/webapp python app.py
    docker ps -l # 显示最近创建的容器
    docker logs -f web # 查看应用的信息

    映射所有接口地址

    docker run -d -p 5000:5000 training/webapp python app.py

    映射到指定地址的指定端口

    docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

    映射到指定地址的任意端口

    docker run -d -p 127.0.0.1::5000 training/webapp python app.py

    指定udp端口

    docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

    查看映射端口配置

    dokcer port web 5000

    新建一个docker网络

    docker network create -d bridge my-net

    运行容器连接到新建的my-net网络

    docker run -it --rm --name busybox1 --network my-net busybox sh
    docker run -it --rm --name busybox2 --network my-net busybox sh

    查看容器信息

    docker container ls
    容器内ping测试容器是否互联

    多个容器互联 推荐Docker Compose

    配置DNS 宿主机DNS信息更新后,所有Docker容器的DNS配置通过/etc/resolv.conf立即更新

    配置全部容器的DNS

    vim /etc/docker/daemon.json 增加内容
    
    {
     'dns':[
      "114.114.114.114",
      "8.8.8.8"
     ]
    }
    
    docker run -it --rm ubuntu:17.10 cat /etc/resolv.conf
    

    容器互联

    容器的连接系统是除了端口映射外另一种可以与容器中应用进行交互的方式。

    它会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息。

    自定义容器名

    连接系统根据容器的名称执行,所以需要自定义一个较为简单容易区分的容器名。

    自定义命名使用--name参数,这个在之前的文章中已经遇到过了:

    docker run -d -p --name db mysql

    容器的命名必须是唯一的。

    执行docker run时,如果加上--rm参数,容器在终止后悔立即被删除,但是不能与-d参数一同使用。

    容器互联

    使用--link参数可以让容器间建立安全的连接进行交互。

    下面是一个示例:

    首先创建一个数据库的容器:

    docker run -d --name db training/postgres

    然后创建web容器:

    docker run -d -P --name web --link db:db training/webapp python app.py

    此时db容器和web容器加你互联关系。

    --link参数:--link name:alias,name是要连接的容器的名字,alias是这个连接的别名。

    可以使用docker ps查看容器信息,其中names列就能看出互联的状态。

    docker在两个互联的容器之间建立了一个安全隧道,不需要吧他们的端口映射到宿主主机上,也可以避免端口的暴露。

    Docker通过两种方式公开连接信息:

    使用env命令查看刚刚的web容器的环境变量:

    docker run --rm --name web2 --link db:db training/webapp env ...

    其中DB_开头的环境变量是供web容器连接db容器使用,前缀采用大写的连接别名。

    除了环境变量,Docker还添加host信息到父容器的/etc/hosts文件。其中web容器会以自己的ID作为默认主机名,db容器以db作为主机名。

    比如多个web到db容器的情况,可以链接多个子容器到父容器上。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:10个常见的HTTP状态码详解
    下一篇:IIS 7.5 使用URL Rewrite模块的简单设置实现网页跳转
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    Docker 基础网络配置详解 Docker,基础,网络,配置,详解,