docker网络访问(三)
docker网络访问
ifconfig查看网卡,启动docker的时候,docker会帮我们创建一个docker0的网桥。
1、随机映射
- docker run -P
2、指定映射
- -p hostPort:containerPort
- -p ip:hostPort:containerPort
- -p ip::containerPort
- -p hostPort:containerPort:udp
- -p hostPort:containerPort -p hostPort:containerPort (多个端口映射)
随机映射案例
使用docker启动nginx
[root@linux-node1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 01f818af747d 2 weeks ago 181.6 MB
centos latest 67591570dd29 4 weeks ago 191.8 MB
[root@linux-node1 ~]# docker run -d -P nginx
9725a9fb539a3334436c74a808f9ba134a8f530ed14065435f49846a7ecd4330
[root@linux-node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9725a9fb539a nginx "nginx -g 'daemon off" 9 seconds ago Up 5 seconds 0.0.0.0:10001->80/tcp, 0.0.0.0:10000->443/tcp dreamy_gates
从上面docker ps命令可以看到,nginx容器启动,物理机的10001被映射到容器的80端口,物理机的10000被映射到容器的443端口。
访问物理机IP和port,http://192.168.137.11:10001/
进入nginx容器,查看网络分配地址为172.17.0.2
[root@linux-node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9725a9fb539a nginx "nginx -g 'daemon off" 9 minutes ago Up 9 minutes 0.0.0.0:10001->80/tcp, 0.0.0.0:10000->443/tcp dreamy_gates
[root@linux-node1 ~]# ./docker_in.sh 9725a9fb539a
root@9725a9fb539a:/# ip ad li
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
20: eth0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:2/64 scope link
valid_lft forever preferred_lft forever
iptables查看Nat表,命令:iptables -t nat -vnL
从上图可以看到容器和物理机的映射关系。
查看nginx容器日志
[root@linux-node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9725a9fb539a nginx "nginx -g 'daemon off" 13 minutes ago Up 12 minutes 0.0.0.0:10001->80/tcp, 0.0.0.0:10000->443/tcp dreamy_gates
[root@linux-node1 ~]# docker logs 9725a9fb539a
指定映射案例
1、使用docker启动一个nginx,指定88端口
[root@linux-node1 ~]# docker run -d -p 192.168.137.11:88:80 --name mynginx nginx
f807dc543291857aecd7ff9ebc7318039c6873e5c727cf71dbdd07d8ebac624a
[root@linux-node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f807dc543291 nginx "nginx -g 'daemon off" 4 seconds ago Up 2 seconds 443/tcp, 192.168.137.11:88->80/tcp mynginx
提示: -d代表后台运行 -p指定端口 --name指定名称
访问页面 http://192.168.137.11:88/
查看nginx端口映射
[root@linux-node1 ~]# docker port mynginx
80/tcp -> 192.168.137.11:88
2、docker 启动映射多端口
[root@linux-node1 ~]# docker run -d -p 443:443 -p 89:80 --name mynginx2 nginx
e9e4eed824ddb26fa1abe742123e3c46515be775dbc5c23556cefbaa94e92838
[root@linux-node1 ~]# docker port mynginx2
443/tcp -> 0.0.0.0:443
80/tcp -> 0.0.0.0:89
docker网络访问(三)的更多相关文章
- docker网络访问
一 docker网络访问 描述: 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的.当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或者-p ...
- 4、Docker网络访问
现在我们已经可以熟练的使用docker命令操作镜像和容器,并学会了如何进入到容器中去,那么实际的工作中,我们通常是在Docker中部署服务,我们需要在外部通过IP和端口进行访问的,那么如何访问到Doc ...
- docker的网络访问
Docker的网络访问: #systemctl start docker #ifconfig [root@zizhen02 ~]# ifconfig docker0: flags=4099<U ...
- Docker网络和存储
本节内容: Docker网络访问 端口映射 数据管理 一.Docker网络访问 1. docker自带的网络 docker network ls:列出当前docker中已有的网络 docker net ...
- docker从零开始网络(三) overly(覆盖)网络
使用overly网络 该overlay网络驱动程序会创建多个docker进程主机之间的分布式网络.该网络位于(覆盖)特定于主机的网络之上,允许连接到它的容器(包括群集服务容器)安全地进行通信.Dock ...
- K8S系列第三篇(Docker网络)
目录 docker 网络 Docker 的四种网络模 一.网络基础 1.网络名称空间介绍 2.创建一个命名空间 1)Veth设备对 2)Veth设备操作 1> 创建Veth设备对 2> 绑 ...
- docker网络-如何让外部网络访问容器资源
docker网络-如何让外部网络访问容器资源 安装httpd 服务: docker:/root# docker exec -it f63b2633d146 bash bash-4.1# yum ins ...
- Docker 外部访问容器Pp、数据管理volume、网络network 介绍
Docker 外部访问容器Pp.数据管理volume.网络network 介绍 外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来 指定端口映射. ...
- 理解Docker(5):Docker 网络
本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
随机推荐
- yii migrate 设计博客
yii migrate/create create_blog_table该命令生成的迁移文件位于 advanced\console\migrations 目录,可能你已经注意到了,yii migrat ...
- HTML5来了:5个好用的混合式App开发工具
在残酷的移动互联网竞争环境下, HTML5技术一直受到各方关注,“HTML5颠覆原生 App”的争论也从未停止过,不管怎样HTML5生态的构建方兴未艾.不过对于移动开发者来说更关心的问题是如何低成本. ...
- 【转】php缓冲 output_buffering和ob_start
原文: http://blog.csdn.net/21aspnet/article/details/7389427 php缓冲 output_buffering和ob_start buffer buf ...
- UML基础概念(转)
UML基础概念 UML概述 uml简介 uml(unified Modeling Language )为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于描述以用例为驱动,以体系结构为中心的 ...
- CodeForces 139C Literature Lesson(模拟)
这个题,读懂了就是水,读不懂就没办法下手,论英语阅读的重要性...只有五种形式,第一种万能型aaaa,是另外3种的特殊情况,第二种克莱里林四行打油诗aabb形式,第三种是交替的abab形式,第四种是封 ...
- HDU 1896 Stones(优先队列)
还是优先队列 #include<iostream> #include<cstdio> #include<cstring> #include<queue> ...
- webapp之路--百度手机前端经验(转)
看了之后收获很大,分享一下: 本文将围绕我半年来在移动前端工程化做的一些工作做的总结,主要从localstorage缓存和版本号管理,模块化,静态资源渲染方式三个方面总结手机百度前端一年内沉淀的解决方 ...
- webView缩放
self.webview.scalesPageToFit = YES; 可以让webView内容用缩放手势放大或缩小
- Ext中包含了几个以get开头的方法
Ext中包含了几个以get开头的方法,这些方法可以用来得到文档中DOM.得到当前文档中的组件.得到Ext元素等,在使用中要注意区别使用.1.get方法get方法用来得到一个Ext元素,也就是类型为Ex ...
- The 2014 ACM-ICPC Asia Mudanjiang Regional
继续复盘之前的Regional......出题者说这一套题太简单,对当时没有AK很不满......真是醉了,弱校没法活了 [A]签到题 [B]树结构,树的中心 [C]-_-/// [D]概率DP [E ...