Docker自身的4种网络工作方式,和一些自定义网络模式
安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host
host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。
None:该模式关闭了容器的网络功能。
Bridge:此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信
 
 
让外部网络访问容器中web服务
思路:首先使用centos镜像新建一个容器,然后在该容器中安装web服务,并启动再把该容器导成一个新的镜像(centos-httpd),然后再使用新镜像(centos-httpd)创建新的容器,并指定端口映射供外部访问。
 
1:新建容器指定名称httpd,并在容器安装web服务(Nginx)
[root@host1 ~]# docker run -itd --name nginx centos bash
910043992a8e734debe42a04e5d21e6a595a1c7dea2a6550c66128a02cd1dea1
 
进入容器安装web服务
[root@host1 ~]# docker exec -it 910043 bash
[root@910043992a8e /]# yum -y install epel-release
[root@910043992a8e /]# yum -y install nginx
 
2:web服务安装完成后,将已安装web服务的httpd容器导出新的镜像为centos_httpd
[root@host1 ~]# docker commit -m "install nginx" -a "test" 910043992a8e centos_httpd
sha256:b2a4963d29cfd6c2a1d44f23af0a08395f1d210872e37fc49c1d7f7a57d66e79
[root@host1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos_httpd latest b2a4963d29cf 9 seconds ago 412MB
centos latest 1e1148e4cc2c 9 months ago 202MB
 
3:使用centos_httpd镜像新建一个容器,并指定8088端口映射为容器中的80端口新建容器启动
语法:docker run -itd --privileged -e "container=docker" -p 【宿主机端口】:【容器端口】 【镜像名】 /usr/sbin/init
说明:-p后面格式是IP:port:IP:port,或者127:0.0.1::port,这里两个冒号,表示随机分配主机一个端口映射;如果nginx启动报错误Failed to get D-Bus connection: Operation not permitted,因为dbus-daemon没有启动导致,解决方法:新建容器时加上--privileged -e "container=docker" ,并且最后面的命令改为/usr/sbin/init。
[root@host1 ~]# docker run -itd --privileged -e "container=docker" -p 8088:80 centos_httpd /usr/sbin/init
3bbdb44c307851f2fdf5d3927dbfc4f2f3a78dc69357687b492d416317b3cecb
[root@host1 ~]# docker exec -it 3bbdb44 bash
[root@3bbdb44c3078 /]# systemctl start nginx
[root@3bbdb44c3078 /]# echo "Hell Word" > /usr/share/nginx/html/1.txt
 
4:退出容器后,用curl命令测试本机8088端口是否可以访问容器的80端口内容
[root@host1 ~]# curl localhost:8088/1.txt
Hell Word

docker-网络模式的更多相关文章

  1. Docker网络模式

    [编者的话] 本文是<Docker网络及服务发现>一书的一个章节,介绍了搭建Docker单主机网络的基础内容.关于Docker网络的更多内容,包括多主机的网络,请参考该书的其他章节. @C ...

  2. Docker网络模式说明

    现在的Docker版本不推荐继续使用Link了,而是推荐用网络模式解决问题,简单讲一下最常用的几个网络模式,其他我用到时候再补充. bridge -net不加参数就是默认的bridge模式,这个默认b ...

  3. Docker 网络模式和跨主机通信

    Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上.虚拟网桥的工作方式和物理交 ...

  4. docker网络模式----入门docker的难点

    众所周知,现在docker是轻量级虚拟化的典型代表!这段时间想要建立一个分布式系统,但是手头上主机没那么多,所以使用docker进行虚拟化,但是在使用的过程中对网络这一部分是一直不太理解,特别找了一篇 ...

  5. docker 网络模式研究了许久,其实我们需要的是docker run -p 80:80命令

    我们只是希望能够从外部访问到docker而已,并不需要去折腾该死的网络模式,桥接,host等等. -p: 端口映射,格式为:主机(宿主)端口:容器端口 sudo docker run -t -i  - ...

  6. docker 网络模式 和 端口映射

    docker 的 网络模式 docker 自带 3 种 网络模式:分别是bridge网络,host网络,none网络,可以使用  docker network ls  命令查看. 1.none网络 这 ...

  7. Docker网络模式介绍

    一.概述 docker的网络驱动有很多种方式,按照docker官网给出的网络解决方案就有6种,分别是:bridge.host.overlay.macvlan.none.Network plugins, ...

  8. docker 网络模式详解

    一.前言 Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理.然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分.因此,我们有必要 ...

  9. Docker 网络模式详解及容器间网络通信

    当项目大规模使用 Docker 时,容器通信的问题也就产生了.要解决容器通信问题,必须先了解很多关于网络的知识.Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜 ...

  10. Docker系列02—Docker 网络模式

    一.Docker的四种网络模式 1.Docker 的四种网络模式: Bridge container 桥接式网络模式 Host(open) container 开放式网络模式 Container(jo ...

随机推荐

  1. nyoj 349 (poj 1094) (拓扑排序)

    Sorting It All Out 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 An ascending sorted sequence of distinct ...

  2. nyoj 399-整除个数 (整除)

    399-整除个数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:9 提交数:18 难度:1 题目描述: 1.2.3… …n这n(0<n<=1000000000)个数中有 ...

  3. 百度杯 十二月 what_the_fuck

    对于这道题,我还真的想说 what_the_fuck !! 这道题拿到就只发觉一个格式化字符串漏洞,其他的就找不到了 . unsigned __int64 sub_4008C5() { char s; ...

  4. 【集合系列】- 深入浅出的分析 Hashtable

    一.摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 HashMap.LinkedHashMap.TreeMap.IdentityHashMap.WeakHashMap.Hashtable.P ...

  5. 封装Ajax和跨域

    目录 引言 封装ajax 案例:使用自封装ajax 案例:动态加载瀑布流 跨域 引言 对于Ajax现在相信大家已经不会陌生了,无论是原生的XMLHttpRequest方式发送还是通过jQuery框架中 ...

  6. 探究 C# 中的 char 、 string(一)

    目录 探究 C# 中的 char . string(一) 1. System.Char 字符 2. 字符处理 3. 全球化 4. System.String 字符串 4.1 字符串搜索 4.2 字符串 ...

  7. 题解 P1047 【校门外的树】

    可以直接模拟,用珂朵莉树是不有点小题大做. 你怎么做珂朵莉都会骂你:"这么简单的模拟都要用***" 附赠珂朵莉照片一张 另外讲几点: 可以用int,你要不怕MLE #include ...

  8. overflow属性值

    overflow属性的可取值有四种:visible.hidden.scroll.auto visible:不裁剪溢出的内容.浏览器把溢出来的内容呈现在其内容元素的显示区域以外的地方,全部内容在浏览器的 ...

  9. day20191109spring

    笔记: 1.Idea构建maven项目之web应用项目 src main java文件夹中定义 Java源程序 resources文件中定义 资源配置文件信息 test文件夹中定义 测试Java程序 ...

  10. Spring Cloud第三篇 | 搭建高可用Eureka注册中心

    ​ ​本文是Spring Cloud专栏的第三篇文章,了解前两篇文章内容有助于更好的理解后面文章: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...