从外部访问容器

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

[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. RadioGroup+Fragment 使用Fragment的add()方法,防止使用replace每次都重新加载页面,造成资源浪费

    radiogroup+fragment是很常用的主页导航控件,之前为了代码简便一直使用的replace()替换fragment,代码如下: getSupportFragmentManager().be ...

  2. ACM题目————次小生成树

    Description 最小生成树大家都已经很了解,次小生成树就是图中构成的树的权值和第二小的树,此值也可能等于最小生成树的权值和,你的任务就是设计一个算法计算图的最小生成树. Input 存在多组数 ...

  3. android的充电图标显示

    最近RK3026的项目需要修改开机充电,才分析了Android原生态的充电过程. 充电的代码和图标在system/core/charger中,会编译成名字为charger的可执行文件,打包进ramdi ...

  4. 【转】成功在AMD主机上用虚拟机安装原版雪豹

    转载地址:http://www.jzh.me/archives/205.html/comment-page-1 一直都很想安装苹果的系统,当雪豹出来的时候就更加想了,但是自己的机器是AMD的,而且还是 ...

  5. hdu1074 Doing Homework

    这题比较有意思,暴力搜索必然tle,可以用状态压缩dp解决. 我们先不考虑完成所有作业的扣分,而考虑其一个子集的情况. 假设我们得到了完成某子集S对应的作业最少扣分,我们试着向该子集中增加一个元素a, ...

  6. hdu 3398

    String Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  7. main函数参数解析

    int argc,char *argv agrc表示参数的个数 argv储存参数 这个函数的意思是逐一输出参数 实际上,main函数也可以带参数.带参数main函数的定义格式如下:void main( ...

  8. hdu敌兵布阵

    http://acm.hdu.edu.cn/showproblem.php?pid=1166 敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  9. Cheatsheet: 2013 07.01 ~ 07.08

    .NET The overhead of async/await in NET 4.5 await Task, Task.Wait and Friends 350 Interview Question ...

  10. 借助Nodejs在服务端使用jQuery采集17173游戏排行信息

    Nodejs相关依赖模块介绍 Nodejs的优势这里就不做介绍啦,这年头相信大家对它也不陌生了.这里主要介绍一下用到的第三方模块. async:js代码中到处都是异步回调,很多时候我们需要做同步处理, ...