docker网络模型
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网络模型的更多相关文章
- Docker 网络模型之 macvlan 详解,图解,实验完整
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 上一篇文章我们 ...
- Docker三十分钟快速入门(下)
一.背景 上篇文章我们进行了Docker的快速入门,基本命令的讲解,以及简单的实战,那么本篇我们就来实战一个真实的项目,看看怎么在产线上来通过容器技术来运行我们的项目,来达到学会容器间通信以及dock ...
- Docker 网络背后的原理探索
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 知其然而不知其 ...
- Kubernetes学习之路(二十一)之网络模型和网络策略
目录 Kubernetes的网络模型和网络策略 1.Kubernetes网络模型和CNI插件 1.1.Docker网络模型 1.2.Kubernetes网络模型 1.3.Flannel网络插件 1.4 ...
- docker容器管理及网络管理
防火墙规则—— INPUT 主要用于主机防火墙,设置规则屏蔽处理进入本机的数据包示例:禁止10.180.100.141这个机器访问我本机的web服务iptables -t filter -A INPU ...
- 记一次linux Docker网络故障排除经历
背景: 之前做了一个项目,需要在容器内访问宿主机提供的Redis 服务(这是一个比较常见的应用场景哈), 常规方案: ① 主机网络(docker run --network=host): 完全应用 ...
- docker及lvs负载
1.分别使用lxc容器和docker容器搭建nginx服务,能够正常访问到容器内的web服务 下载docker-ceyum仓库至 /etc/yum.repos.d/目录中,使用yum安装docker- ...
- docker 实践十:docker 网络管理
本篇是关于 docker 网络管理的内容,同时也包含了 docker 网络的高级应用. 注:环境为 CentOS7,docker 19.03. docker 网络基础 docker 网络模型 在 do ...
- 五十四.自定义镜像及仓库、持久化存储 、 Docker网络架构
1. 制作自定义镜像(base基础镜像,搭建共性环境) 基于centos镜像使用commit创建新的镜像文件 基于centos镜像使用Dockerfile文件创建一个新的镜像文件 1.1 使用镜像 ...
随机推荐
- yarn-1.12.3.msi 下载地址 百度网盘
yarn-1.12.3.msi 下载地址 百度网盘 链接:https://pan.baidu.com/s/1-JEO1as0Jtp1a1pAqW-mzg 提取码:lbz0
- PHP压缩上传图片
最近手上的项目页面要显示很多图片,虽然用了jQuery的lazyload,但是效果并没理想,滑动到一个区域还要比较长的时间图片才完全显示出来.于是想着将上传上去的900KB+压缩备份一份缩略图. PH ...
- MIC中示例程序计算π
mic中编程十分简单,只需在普通程序中简单加几句就可以,使用 lspci|grep -i -co-processor 命令可以查看机器中是否插入MIC卡以及MIC卡的数目,MIC编程环境的配置这里就不 ...
- 配置Nginx与tomcat负责均衡集群,
今天主要说说,nginx如何配置tomcat集群,首先我们先介绍一下各个软件: 一: 1.Nginx介绍: 下载地址:http://nginx.org/en/download.html nginx这个 ...
- 使用 SourceTree 遇到冲突的解决方法
首先,更新代码之前先 git stash ,然后 git pull ,再 git stash pop 这时候如果本地改的代码跟线上的冲突了,就报错了.那么就需要手动解决冲突. 打开存在冲突的文件,会看 ...
- HDU 2588 GCD && GCD问题总结
GCD(一) 题目: The greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written ( ...
- 使用 Xcode 5 生成和使用静态库
本文转载至 http://blog.csdn.net/qq331436155/article/details/18363267 静态库Static Libraryiosxcode 在项目中 ...
- 【BZOJ2401】陶陶的难题I 欧拉函数+线性筛
[BZOJ2401]陶陶的难题I 题意:求,n<=1000000,T<=100000 题解:直接做是n*sqrt(n)的,显然会TLE,不过这题a和b都是循环到n,那么就可以进行如下的神奇 ...
- 星球大战starwar(并查集)
1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 5253 Solved: 2395[Submit ...
- Python高级入门01-property
JAVA中存在对变量 私有化,公开,保护... 私有化时候,需要提供一个公开的get 和 set方法对外公开,让别人进行调用 python中同样存在 私有化变量定义是__是这个双下划线,eg:_ ...