docker的网络访问
Docker的网络访问:
#systemctl start docker
#ifconfig
[root@zizhen02 ~]# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:b2:e3:5b:db txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
必须安装网桥工具bridge-utils,运行命令:#yum install bridge-utils
https://fp-moon.iteye.com/blog/1468650
[root@zizhen02 ~]# brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242b2e35bdb no
docker网络访问有两种访问方式: 随机映射和指定映射
随机映射:docker run -P
#docker images
#docker run –d –P nginx #docker 运行到后台
#[root@zizhen02 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ce4f13ed654 nginx "nginx -g 'daemon of…" 22 seconds ago Up 21 seconds 0.0.0.0:32768->80/tcp condescending_wilbur
查看路由表 #iptables –t nat -vnL
[root@zizhen02 ~]# iptables -t nat -vnL
Chain PREROUTING (policy ACCEPT 10 packets, 1030 bytes)
pkts bytes target prot opt in out source destination
34 1760 DOCKER all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT 10 packets, 1030 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 24 packets, 1448 bytes)
pkts bytes target prot opt in out source destination
1 60 DOCKER all -- * * 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT 53 packets, 2964 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * !docker0 172.17.0.0/16 0.0.0.0/0
0 0 MASQUERADE tcp -- * * 172.17.0.2 172.17.0.2 tcp dpt:80
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- docker0 * 0.0.0.0/0 0.0.0.0/0
29 1516 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:32768 to:172.17.0.2:80
#ps -aux |grep dhcp
#cat /var/lib/libvirt/dnsmasq/default.conf
[root@zizhen02 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ce4f13ed654 nginx "nginx -g 'daemon of…" 16 minutes ago Up 16 minutes 0.0.0.0:32768->80/tcp condescending_wilbur
[root@zizhen02 ~]# docker logs 2ce4f13ed654
指定映射:
-p hostPort:containerPort
-p ip: hostPort:containerPort
-p ip: : containerPort
-p hostPort:containerPort:udp
-p 443:443 -p 81:80
#
[root@zizhen02 ~]# docker run -d -p 192.168.1.107:8000:80 --name mynginx nginx
5cb5e2fb6d1151d4cf5a1bf5c5241ce6baa55375fc319d97723b5ae17ed98199
[root@zizhen02 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" 16 seconds ago Up 15 seconds 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 23 minutes ago Up 23 minutes 0.0.0.0:32768->80/tcp condescending_wilbur
[root@zizhen02 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" 23 seconds ago Up 22 seconds 192.168.1.107:8000->80/tcp mynginx
[root@zizhen02 ~]# curl 192.168.1.107:8000
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
#
[root@zizhen02 ~]# docker port mynginx
80/tcp -> 192.168.1.107:8000
[root@zizhen02 ~]# docker run -d -p 443:443 -p 8001:80 --name nginxv2 nginx
97b6ec6152522ef7d747d60e0d9b611fab741fd4a05e14baa645d1dd23c6d874
[root@zizhen02 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97b6ec615252 nginx "nginx -g 'daemon of…" 10 seconds ago Up 8 seconds 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
[root@zizhen02 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97b6ec615252 nginx "nginx -g 'daemon of…" 20 seconds ago Up 18 seconds 0.0.0.0:443->443/tcp, 0.0.0.0:8001->80/tcp nginxv2
5cb5e2fb6d11 nginx "nginx -g 'daemon of…" 8 minutes ago Up 8 minutes 192.168.1.107:8000->80/tcp mynginx
2ce4f13ed654 nginx "nginx -g 'daemon of…" 32 minutes ago Up 32 minutes 0.0.0.0:32768->80/tcp condescending_wilbur
[root@zizhen02 ~]# docker port ngixv2
Error: No such container: ngixv2
[root@zizhen02 ~]# docker port nginxv2
443/tcp -> 0.0.0.0:443
80/tcp -> 0.0.0.0:8001
[root@zizhen02 ~]#
#
docker的网络访问的更多相关文章
- Docker:网络模式详解
Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面. Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络 ...
- docker网络-如何让外部网络访问容器资源
docker网络-如何让外部网络访问容器资源 安装httpd 服务: docker:/root# docker exec -it f63b2633d146 bash bash-4.1# yum ins ...
- docker网络访问(三)
docker网络访问 ifconfig查看网卡,启动docker的时候,docker会帮我们创建一个docker0的网桥. 1.随机映射 docker run -P 2.指定映射 -p hostPor ...
- Docker 构建网络服务后本机不能访问
Docker 构建网络服务后本机不能访问 起因 使用tornado构建了一个服务,测试都没有问题 使用docker构建镜像,使用docker run image_name启动服务 使用浏览器访问 12 ...
- docker网络访问
一 docker网络访问 描述: 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的.当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或者-p ...
- 4、Docker网络访问
现在我们已经可以熟练的使用docker命令操作镜像和容器,并学会了如何进入到容器中去,那么实际的工作中,我们通常是在Docker中部署服务,我们需要在外部通过IP和端口进行访问的,那么如何访问到Doc ...
- Docker 基础 : 网络配置
大量的互联网应用服务包含多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合.Docker 目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务.接下来我们将讲述 Docker ...
- Docker(四):Docker基本网络配置
1.Libnetwork Libnetwork提出了新的容器网络模型简称为CNM,定义了标准的API用于为容器配置网络. CNM三个重要概念: 沙盒:一个隔离的网络运行环境,保存了容器网络栈的配置,包 ...
- docker(4)docker的网络,自定义网桥
Docker 的网络 运行 ifconfig 找到 docker0 : 虚拟网卡默认网卡名称为docker0 查看docker 的网桥: 我这里默认们没有进行安装 网桥管理设备:进行安装一下: yum ...
随机推荐
- [CentOS] 环境变量设置的三种方法
在CentOS系统中添加环境变量的方法有几种,推荐第三种方法.这里以添加 TexLive 2017 的环境变量为例进行说明. 1. 修改 ~/.bash_profile 文档,在文末添加以下代码: ...
- java中之内存溢出说明
java语句是编译型和解释型语言,选通过编译命令javac 把java文件编译为.class字节码文件,然后通过java虚拟机(JVM)加载class文件到内存运行. 而java虚拟机在运行程序时有自 ...
- node项目运行报错
Cannot find module 'webpack/bin/config-optimist' 在项目里面运行npm i webpack-dev-server Cannot find module ...
- slice,substring,substr的区别
1.都为正整数//例子数据 var arr = [1,2,3,4,5,6,7], var str = "helloworld!"; //注意这里有个!号也算一位若有空格,空格也算一 ...
- jieba 库
jieba库是python 一个重要的第三方中文分词函数库,但需要用户自行安装. 一.jieba 库简介 (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结 ...
- springMVC控制器,处理器,映射器,适配器
前端控制器DispatcherServlet <!--定义spring mvc 的前端控制器Servlet --><servlet> <!--Servlet的名称--&g ...
- sciense
I hate the word "networking." It must be one of the most overused words in the English lan ...
- 详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程
由于项目的需要,我们在很多软件配置环境中需要用到Docker容器,这个时候我们可以用自己的VPS主机搭建.在这篇文章中,笔者将会利用Ubuntu 16.04系统环境安装Docker CE容器的过程.如 ...
- java实现链栈
package linkstack; /** * Created by Administrator on 2019/4/18. */ public class LinkStack { private ...
- 浅谈利用同步机制解决Java中的线程安全问题
我们知道大多数程序都不会是单线程程序,单线程程序的功能非常有限,我们假设一下所有的程序都是单线程程序,那么会带来怎样的结果呢?假如淘宝是单线程程序,一直都只能一个一个用户去访问,你要在网上买东西还得等 ...