zoukankan      html  css  js  c++  java
  • docker的网络基础配置

    一、端口映射实现访问容器

      当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射。当使用-P标记时,Docker会随机映射一个49000~49900的端口至容器内部开放的网络端口。

       1、-P随机分配端口

      # docker pull training/webapp  下载镜像文件

      # sudo docker run -d -P training/webapp python app.py  运行镜像文件

      # docker ps  查看docker运行进程

      # docker logs -f laughing_montalcini  查看日志文件(docker logs -f -t --tail 行数 容器名)

      2、-p指定端口

      # 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  指定ip地址的指定地址

      # docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py  指定ip地址的任意地址

      # docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py  指定协议

      3、查看端口绑定地址:# docker port laughing_montalcini 5000  (docker port 容器名 容器内端口)

      使用docker inspect 容器id 可以查看容器的所有信息

    二、容器之间的通信

      以数据库和程序的连接为例 

      # docker pull training/postgres

      # docker run -d --name db training/postgres

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

      Docker在两个互联的容器之间创建了一个安全隧道,而且不用映射它们的端口到宿主主机上。在启动db容器的时候并没有使用-p和-P标记,从而避免了暴露数据库端口到外部网络上。

      # docker run --rm --name web- --link db:db training/webapp env  使用env命令来查看web容器的环境变量

      # docker run -t -i --rm --link db:db training/webapp /bin/bash  Docker还添加host信息到父容器的/etc/hosts的文件。下面是父容器web的hosts文件

      # cat /etc/hosts  这里有两个hosts信息,第一个是web容器,web容器用自己的id作为默认主机名,第二个是db容器的ip和主机名。

      # apt-get install -yqq inetutils-ping  在web容器中安装ping命令来测试跟db容器的连通

      # ping adb

  • 相关阅读:
    C# 计算结果四舍五入
    同时执行多条SQL语句
    将一个datatable的值赋给另一个dt的三种方法转
    Oracle中增加、删除、修改字段
    Oracle 某列转为行
    DataList中链接跳转页面传参数
    修改数据库中多个表中的同一个字段的长度(可参照修改成同一字段的列名、注释等)
    克隆表结构
    博客专题
    Rational Rose2003 安装教程
  • 原文地址:https://www.cnblogs.com/wu-wu/p/10250761.html
Copyright © 2011-2022 走看看