docker run -it --rm --net none --name test centos:newer /bin/bash

--net none的作用是创建一个封闭的容器,容器只有lo接口,只能跟自己通信,这种网络模型在容器中叫做closed container

bridge container: 此类容器有两个接口,loopback和以太网接口

以太网接口桥接至docker daemon设定使用的桥,默认为docker0,不指定的话默认使用bridge container模型

docker run -it --rm --net none --name test -h myhost centos:newer /bin/bash

-h myhost的作用是设定容器的主机名为myhost

docker run -it --rm --name test -h myhost --dns 192.168.204.2 busybox /bin/sh

--dns 192.168.204.2为容器指定dns服务器

docker run -it --rm --name test -h myhost --add-host "docker.com:172.16.100.1" busybox /bin/sh

--add-host "docker.com:172.16.100.1"向/etc/hosts文件中添加域名解析--add-host可以出现多次

docker run -it --rm -p 80 --name web busybox /bin/sh

-p 80 是将容器中的80端口映射到宿主机上的一个随机端口,具体映射到哪个端口可以在宿主机上使用命令docker port 容器名 查看

接下来创建一个web容器,在容器中执行命令httpd -h 查看httpd的帮助命令,mkdir -p /web/html 创建根目录,echo “From Web

Container” > /web/html/index.html 创建网页,httpd -f -v -h /web/html/在前台启动容器,此时在浏览器中输入对应的服务器地址和

端口就可以访问到内容了,为了通过宿主机而能访问到容器中的80端口,其实宿主机在iptables的nat表中自动添加了端口映射的规则

docker run -it --rm -p 80:80 --name web  busybox /bin/sh

将主机的80端口映射为容器的80端口

docker run -it --rm -P --expose 80 --expose 8080 --expose 443 --name web  busybox /bin/sh

同时发布多个端口

docker run -it --rm --name joined_web  --net container:web busybox /bin/sh  和web这个容器共用一个网络名称空间,在任

意一台容器中对网络相关的修改,对另外一个容器同样生效,这种叫做联盟容器

docker run -it --rm --net host --name web centos /bin/bash 使用物理机的网络名称空间,此时该容器的网络功能就跟物理机的

网络功能一样了,这种叫做开放式网络模型

docker run -d -it --name web busybox httpd -f

-d表示将docker运行为守护进程,httpd后面的-f不加的话,容器运行完httpd就停止了,-f表示将httpd运行在前台,这样容器就会处于运

行状态

docker stats joined_web 查看容器资源使用信息

run命令中某些选项还可以限制资源的使用比如-m限制该容器内存的使用

docker top joined_web 查看容器进程运行状态

docker网络模型的更多相关文章

  1. Docker 网络模型之 macvlan 详解,图解,实验完整

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 上一篇文章我们 ...

  2. Docker三十分钟快速入门(下)

    一.背景 上篇文章我们进行了Docker的快速入门,基本命令的讲解,以及简单的实战,那么本篇我们就来实战一个真实的项目,看看怎么在产线上来通过容器技术来运行我们的项目,来达到学会容器间通信以及dock ...

  3. Docker 网络背后的原理探索

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 知其然而不知其 ...

  4. Kubernetes学习之路(二十一)之网络模型和网络策略

    目录 Kubernetes的网络模型和网络策略 1.Kubernetes网络模型和CNI插件 1.1.Docker网络模型 1.2.Kubernetes网络模型 1.3.Flannel网络插件 1.4 ...

  5. docker容器管理及网络管理

    防火墙规则—— INPUT 主要用于主机防火墙,设置规则屏蔽处理进入本机的数据包示例:禁止10.180.100.141这个机器访问我本机的web服务iptables -t filter -A INPU ...

  6. 记一次linux Docker网络故障排除经历

    背景: 之前做了一个项目,需要在容器内访问宿主机提供的Redis 服务(这是一个比较常见的应用场景哈), 常规方案: ①   主机网络(docker run --network=host): 完全应用 ...

  7. docker及lvs负载

    1.分别使用lxc容器和docker容器搭建nginx服务,能够正常访问到容器内的web服务 下载docker-ceyum仓库至 /etc/yum.repos.d/目录中,使用yum安装docker- ...

  8. docker 实践十:docker 网络管理

    本篇是关于 docker 网络管理的内容,同时也包含了 docker 网络的高级应用. 注:环境为 CentOS7,docker 19.03. docker 网络基础 docker 网络模型 在 do ...

  9. 五十四.自定义镜像及仓库、持久化存储 、 Docker网络架构

    1. 制作自定义镜像(base基础镜像,搭建共性环境) 基于centos镜像使用commit创建新的镜像文件 基于centos镜像使用Dockerfile文件创建一个新的镜像文件   1.1 使用镜像 ...

随机推荐

  1. 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

    [COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...

  2. oracle中过滤中文字符或者汉字的函数

    CREATE OR REPLACE FUNCTION GET_CHINESE(P_NAME IN VARCHAR2) RETURN VARCHAR2 IS V_CODE        VARCHAR2 ...

  3. mysql解压版安装和卸载

    问题1:发生系统错误 5. 解决:使用管理员身份安装即可 问题2:发生系统错误 2. 解决:cd C:\Program Files\MySQL\MySQL Server 5.6\bin 进入mysql ...

  4. QT应用程序 安装路径中文异常问题

    [1]QT 安装中文路径启动异常问题 最近在搞一个很简单的QT应用程序,开发环境VS2017 + QT5.9,线上异常报错:安装中文路径下启动崩溃~~~~ 最后,本地调试Debug版本,发现安装中文路 ...

  5. 什么是scale up和scale out

    Scale Out(也就是Scale horizontally)横向扩展,向外扩展Scale Up(也就是Scale vertically)纵向扩展,向上扩展无论是Scale Out,Scale Up ...

  6. 查看vnc server的日志

    grep vnc /var/log/messages 转自: http://blog.csdn.net/denghua10/article/details/39107309

  7. Laravel开发:Laravel核心——Ioc服务容器

    服务容器 在说 Ioc 容器之前,我们需要了解什么是 Ioc 容器. Laravel 服务容器是一个用于管理类依赖和执行依赖注入的强大工具. 在理解这句话之前,我们需要先了解一下服务容器的来龙去脉:  ...

  8. 划分Linux分区

    / Swap 这二个分区是必须有的. /usr linux系统都在 /usr 中 /home  用户信息都在 /home 下 /var 保持所有服务器的登录文件,且Web默认的路径在 /var中 可以 ...

  9. memcache 使用方法

    Memcache::add // 添加一个值,如果已经存在,则返回falseMemcache::addServer // 添加Memcache地址Memcache::close // 关闭一个Memc ...

  10. WinForm开发----关闭window窗体最好的办法

    最近有一人问道,如何切换窗体.一想到这,我就想,不就是new一个form,然后就show么? 可是我发现,当你控制某个属性的时候,不是不能控制,只是很麻烦而已.有没有好的办法?当然有,咋办? 最简单最 ...