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 66-分数拆分 (Java,暴力)

    66-分数拆分 内存限制:64MB 时间限制:3000ms 特判: No 通过数:7 提交数:9 难度:1 题目描述: 现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y ...

  2. Linux菜鸟——搭建虚拟机环境

    最近在学习Linux搭建服务器,但本人对于Linux一无所知,所以花了两天时间把安装,命令,控制,搭建环境等一系列操作都囫囵吞枣了一遍,但又怕自己记不住太多,所以记录下以前搭建的所有步骤,希望能提醒自 ...

  3. 20191017-3 alpha week 2/2 Scrum立会报告+燃尽图 02

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9799 一.小组情况 队名:扛把子 组长:迟俊文 组员:宋晓丽 梁梦瑶 韩昊 ...

  4. 【Elasticsearch 7 探索之路】(四)Analyzer 分析

    上一篇,什么是倒排索引以及原理是什么.本篇讲解 Analyzer,了解 Analyzer 是什么 ,分词器是什么,以及 Elasticsearch 内置的分词器,最后再讲解中文分词是怎么做的. 一.A ...

  5. Receptive Field Block Net for Accurate and Fast Object Detection

    Receptive Field Block Net for Accurate and Fast Object Detection 作者:Songtao Liu, Di Huang*, and Yunh ...

  6. 【论文阅读】Clustering Convolutional Kernels to Compress Deep Neural Networks

    文章:Clustering Convolutional Kernels to Compress Deep Neural Networks 链接:http://openaccess.thecvf.com ...

  7. Java基础面试题及答案(三)

    多线程 35. 并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔发生. 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件. 在一台处理器 ...

  8. JavaScript-----2初识

    1.介绍 JavaScript是一种运行在客户端(自己的电脑上)的脚本语言不是在服务器上 脚本语言:不需要编译,运行过程由JS解释器(js引擎)逐行进行解释并执行 JavaScript不仅可以做前端编 ...

  9. P1087 FBI树

    题目描述 我们可以把由“00”和“11”组成的字符串分为三类:全“00”串称为BB串,全“11”串称为I串,既含“00”又含“11”的串则称为F串. FBIFBI树是一种二叉树,它的结点类型也包括FF ...

  10. diff()函数的使用

    1.diff():返回略微迭代(lagged)的或滞后的不同(iterated diferences). > x<-cumsum(cumsum(1:10)) > x [1] 1 4 ...