从外部访问容器

指定容器端口随机映射主机端口

[root@wls12c /]$ docker run -p  -d --name web tomcat /bin/bash -c /root/apache-tomcat-7.0./bin/startup.sh
56aff84e42df074c4941a8a373305ffbba121bd4b190f58ec5c6136d062b557f [root@wls12c /]$ docker port
/tcp -> 0.0.0.0:

访问http://192.168.0.80:32772,即可访问到容器中对应的8080端口。

使用-P随机映射容器内开放的端口

[root@wls12c /]$ docker run -P --name db -e MYSQL_ROOT_PASSWORD=root -d mysql
49b1c8ba70db137107ba79950854c1b758d0c4dc8f4ac16425cde73a648631f8
[root@wls12c /]$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49b1c8ba70db mysql "docker-entrypoint.s 4 seconds ago Up 4 seconds 0.0.0.0:32773->3306/tcp db

指定主机端口映射,主机端口:容器端口

[root@wls12c /]$ docker run -p : -d --name web1 tomcat /bin/bash -c /root/apache-tomcat-7.0./bin/startup.sh
c2fa3f78eb52f5e45af1bb578b0a892829611175722ea0909fc890edd1347a23
[root@wls12c /]$ docker port web1
/tcp -> 0.0.0.0:

访问:http://192.168.0.80:8090即可访问到容器中对应的8080端口。

容器的互联

实现db容器和web容器的互联

创建db容器

[root@wls12c /]$ docker run  --name db -e MYSQL_ROOT_PASSWORD=root -d mysql

创建一个web容器,并将它连接到db

[root@wls12c /]$ docker run -d -P --name web --link db:db  tomcat
a0c6eded53622dc71e54892eb63d5d94b1e1ce2882d307b2de8b6dd23e0c865d [root@wls12c /]$ docker exec -it web /bin/bash
[root@a0c6eded5362 /]# env
HOSTNAME=a0c6eded5362
DB_NAME=/web/db
DB_PORT=tcp://172.17.0.76:3306
DB_PORT_3306_TCP_PORT=
DB_ENV_GOSU_VERSION=1.7
LS_COLORS=
DB_PORT_3306_TCP_PROTO=tcp
DB_ENV_MYSQL_ROOT_PASSWORD=root
PATH=/root/jdk1..0_80/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
JAVA_HOME=/root/jdk1..0_80
DB_PORT_3306_TCP_ADDR=172.17.0.76
SHLVL=
HOME=/root
DB_PORT_3306_TCP=tcp://172.17.0.76:3306
DB_ENV_MYSQL_VERSION=5.7.-1debian8
DB_ENV_MYSQL_MAJOR=5.7
_=/usr/bin/env [root@a0c6eded5362 /]# cat /etc/hosts
172.17.0.79 a0c6eded5362
127.0.0.1 localhost
:: localhost ip6-localhost ip6-loopback
fe00:: ip6-localnet
ff00:: ip6-mcastprefix
ff02:: ip6-allnodes
ff02:: ip6-allrouters
172.17.0.76 db c456ffdefca6
[root@a0c6eded5362 /]# ping db
PING db (172.17.0.76) () bytes of data.
bytes from db (172.17.0.76): icmp_seq= ttl= time=0.095 ms
bytes from db (172.17.0.76): icmp_seq= ttl= time=0.070 ms
bytes from db (172.17.0.76): icmp_seq= ttl= time=0.070 ms

--link name:alias   name为容器名,alias为容器连接的别名。

Docker-网络基础配置的更多相关文章

  1. docker网络基础配置

    常用两种方式: 1)映射容器端口到宿主机 2)容器互联机制 --------------------------------------------- 端口映射实现访问容器的用法: docker ru ...

  2. Docker网络基础:快速指南

    Docker网络基础:快速指南 原文连接:http://blogxinxiucan.sh1.newtouch.com/2017/07/30/Docker网络基础:快速指南/ 了解有关扩展网络功能的默认 ...

  3. Linux网络基础配置

    这是看itercast视频的笔记 Linux网络基础配置 以太网连接 在Linux中,以太网接口被命令为:eth0, eth1等, 0,1代表网卡编号 通过lspci命令可以查看网上硬件信息(如果是u ...

  4. docker数据卷管理及网络基础配置

    数据卷 数据卷容器 数据卷迁移数据 端口映射 容器间通信 数据卷的管理 当需要查看容器内应用产生的数据或者把容器内数据备份及多个容器数据共享.有两种方式,数据卷以及数据卷容器. 数据卷 数据卷是一个可 ...

  5. Docker 网络基础介绍

    [编者按]本文作者为 Mesosphere 开发大使 Michael Hausenblas,主要介绍配置 Docker 单主机网络的基本知识.文章系国内 ITOM 管理平台 OneAPM 编译呈现. ...

  6. 七、【Docker笔记】Docker中网络基础配置

    一个系统一般都包含多个服务组件,这些大量的服务组件不可能放在同一个容器中,这就需要多个容器之间可以互相通信.Docker提供了两种方式来实现网络服务:映射容器端口到宿主主机.容器互联机制. 一.端口映 ...

  7. docker的网络基础配置

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

  8. Docker网络基础

    大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合. Docker目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务. 端口映射实现访问容器: 在启动 ...

  9. linux基础之网络基础配置

    基础命令:ifconfig/route/netstat,ip/ss,nmcli 一.ifconfig/route/netstat相关命令 1.  ifconfig - configure a netw ...

  10. docker-ce-17.09 网络基础配置

    一.端口映射实现访问容器 1.我们先从pull一个nginx镜像,然后后台运行该镜像 > docker pull nginx > docker run -d -P nginx:latest ...

随机推荐

  1. 20145227 《Java程序设计》第2周学习总结

    20145227 <Java程序设计>第2周学习总结 教材学习内容总结 3.1 类型.变量与运算符 1.基本类型:在java中基本类型主要分为整数.字节.浮点数.字符与布尔. 整数:分为s ...

  2. POJ 2001:Shortest Prefixes

    Shortest Prefixes Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 16782   Accepted: 728 ...

  3. c#danliemosih

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 打印机 ...

  4. Capturing Audio & Video in HTML5

    使用HTML5抓取 Audio & Video 原文地址: http://www.html5rocks.com/en/tutorials/getusermedia/intro/ 本地化的文章: ...

  5. csharp通过dll调用opencv函数,图片作为参数

    [blog 项目实战派]csharp通过dll调用opencv函数,图片作为参数          ​一直想做着方面的研究,但是因为这个方面的知识过于小众,也是由于自己找资料的能力比较弱,知道今天才找 ...

  6. C#实现中国天气网XML接口测试

    点击链接查看中国天气网接口说明,最近想研究一下接口测试,源于最近一次和某公司的技术总监(交大校友)谈话,发现接口测试的需求是比较大的,于是想要研究一下. 好不容易在网上找到了一个关于中国天气网的接口说 ...

  7. uva 10090 Marbles

    Problem F Marbles Input: standard input Output: standard output I have some (say, n) marbles (small ...

  8. C#json 解析

    Json样例一: string jsonText= {Code)\/)\/"}}} JObject jo = JObject.Parse(jsonText); string strCode= ...

  9. zookeeper系列之一—zookeeper入门

    Zookeeper是什么? Zookeeper故名思议动物管理员,它是拿来管大象(Hadoop).蜜蜂(Hive).小猪(Pig)的管理员,Apache Hbase和Apache Solr以及Link ...

  10. Intent官方教程(1)简介和作用

    Intents An Intent is a messaging object you can use to request an action from another app component. ...