Docker-网络基础配置
从外部访问容器
指定容器端口随机映射主机端口
[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-网络基础配置的更多相关文章
- docker网络基础配置
常用两种方式: 1)映射容器端口到宿主机 2)容器互联机制 --------------------------------------------- 端口映射实现访问容器的用法: docker ru ...
- Docker网络基础:快速指南
Docker网络基础:快速指南 原文连接:http://blogxinxiucan.sh1.newtouch.com/2017/07/30/Docker网络基础:快速指南/ 了解有关扩展网络功能的默认 ...
- Linux网络基础配置
这是看itercast视频的笔记 Linux网络基础配置 以太网连接 在Linux中,以太网接口被命令为:eth0, eth1等, 0,1代表网卡编号 通过lspci命令可以查看网上硬件信息(如果是u ...
- docker数据卷管理及网络基础配置
数据卷 数据卷容器 数据卷迁移数据 端口映射 容器间通信 数据卷的管理 当需要查看容器内应用产生的数据或者把容器内数据备份及多个容器数据共享.有两种方式,数据卷以及数据卷容器. 数据卷 数据卷是一个可 ...
- Docker 网络基础介绍
[编者按]本文作者为 Mesosphere 开发大使 Michael Hausenblas,主要介绍配置 Docker 单主机网络的基本知识.文章系国内 ITOM 管理平台 OneAPM 编译呈现. ...
- 七、【Docker笔记】Docker中网络基础配置
一个系统一般都包含多个服务组件,这些大量的服务组件不可能放在同一个容器中,这就需要多个容器之间可以互相通信.Docker提供了两种方式来实现网络服务:映射容器端口到宿主主机.容器互联机制. 一.端口映 ...
- docker的网络基础配置
一.端口映射实现访问容器 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射.当使用-P标记时,Docker会随机映射一个49000~49900的端口至容器内部开放 ...
- Docker网络基础
大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合. Docker目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务. 端口映射实现访问容器: 在启动 ...
- linux基础之网络基础配置
基础命令:ifconfig/route/netstat,ip/ss,nmcli 一.ifconfig/route/netstat相关命令 1. ifconfig - configure a netw ...
- docker-ce-17.09 网络基础配置
一.端口映射实现访问容器 1.我们先从pull一个nginx镜像,然后后台运行该镜像 > docker pull nginx > docker run -d -P nginx:latest ...
随机推荐
- android应用的数据应该保存到哪儿
王永超王永超嫖娼 做android app开发会涉及到不同数据的保存,比如数据缓存,客户登陆信息保存,客户状态的保存等等. 那针对这不同的数据我们应该保存在什么地方呢? 1.应用卸载也不会删除的数据 ...
- Bellman-Ford 算法及其优化
Bellman-Ford 算法及其优化 转自:http://hi.baidu.com/jzlikewei/blog/item/94db7950f96f995a1038c2cd.html Bellman ...
- JDBC批量Insert深度优化(有事务)
环境: MySQL 5.1 RedHat Linux AS 5 JavaSE 1.5 DbConnectionBroker 微型数据库连接池 测试的方案: 执行10万次Insert语句,使用不同方 ...
- Alignment
Alignment Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14547 Accepted: 4718 Descriptio ...
- 谈EXPORT_SYMBOL使用
EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static 函数和变量都会自动导入到kernel 空间的, 都不用EXPORT_SYMBOL() 做标记的.2.6就必须用EXPO ...
- 放松时刻——C#分割字符串
让我们来练习一下字符串的分割~把话倒过来说: private void change_button_Click(object sender, EventArgs e) { var after_text ...
- 从客户端中检测到有潜在危险的Request.Form 值
今天往MVC中加入了一个富文本编辑框,在提交信息的时候报了如下的错误:从客户端(Content="<EM ><STRONG ><U >这是测试这...&q ...
- 四个好看的CSS样式表格
文章来源 http://www.cnphp6.com/archives/58020 1. 单像素边框CSS表格 这是一个非经常常使用的表格样式. 源码: 2. 带背景图的CSS样式表格 和上面差点儿相 ...
- 取出一个int的每一位,用算法
int a=1234: int current: while(a) { current=a%10://4 cout<<current; a=a%10; }
- Eclipse搭建Android5.0应用开发环境 “ndk-build”:launchingfailed问题解决
Eclipse搭建Android5.0应用开发环境 "ndk-build":launchingfailed问题解决 详细参考http://blog.csdn.net/loongem ...