Docker 网络命令
- docker network create
- docker network connect
- docker network ls
- docker network rm
- docker network disconnect
- docker network inspect
zane@zane-V:~$ docker network create simple-network
8bf58f43c56622d1100f7da9ef6506e45a4aa68556b586311f3756130c311d75
zane@zane-V:~$ docker network inspect simple-network
[
{
"Name": "simple-network",
"Id": "8bf58f43c56622d1100f7da9ef6506e45a4aa68556b586311f3756130c311d75",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.20.0.0/16",
"Gateway": "172.20.0.1/16"
}
]
},
"Internal": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
- 进入一个键值存储。引擎支持Consul,Etcd,ZooKeeper.
- 与键值存储连接的主机集群。
- 在群集中的每个主机上正确配置的deamon引擎
- --cluster-store
- --cluster-store-opt
- --cluster-advertise
$ docker network create -d overlay \
--subnet=192.168.0.0/ \
--subnet=192.170.0.0/ \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/ \
--aux-address="my-router=192.168.1.5"
--aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5"
--aux-address="my-nas=192.170.1.6" \
my-multihost-network
$ docker run -d -P --name redis --network my-network redis
bafb0c808c53104b2c90346f284bda33a69beadcab4fc83ab8f2c5a4410cd129 $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bafb0c808c53 redis "/entrypoint.sh redis" seconds ago Up seconds 172.23.0.1:->/tcp redis
$ docker run -itd --name=container1 busybox
18c062ef45ac0c026ee48a83afa39d25635ee5f02b58de4abc8f467bcaa28731 $ docker run -itd --name=container2 busybox
498eaaaf328e1018042c04b2de04036fc04719a6e39a097a4f4866043a2c2152
zane@zane-V:~$ docker network create -d bridge --subnet 172.25.0.0/ isolated_nw
a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b
zane@zane-V:~$ docker network connect isolated_nw container2 zane@zane-V:~$ docker network inspect isolated_nw
[
{
"Name": "isolated_nw",
"Id": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.25.0.0/16"
}
]
},
"Internal": false,
"Containers": {
"e9bce535ae32945f5e43340facdb6c16c93d92119e85b61c6cb7a5379a0caf63": {
"Name": "container2",
"EndpointID": "ef7244d32484407c3ec4aa30b7bdb0a6cbe3dbbfedc03e5c856ad20a08af172f",
"MacAddress": "02:42:ac:19:00:02",
"IPv4Address": "172.25.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
zane@zane-V:~$ docker run --network=isolated_nw --ip=172.25.3.3 -itd --name=container3 busybox
adf68dd9e09c101e507e2106901d25270f71375f07ac7f61db21707c27075c0d
"Networks": {
"isolated_nw": {
"IPAMConfig": {
"IPv4Address": "172.25.3.3"
},
"Links": null,
"Aliases": [
"adf68dd9e09c"
],
"NetworkID": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b",
"EndpointID": "71d5d272d056b6111a83f0843a10d1944f1648f34d5099258d5865d053a939b0",
"Gateway": "172.25.0.1",
"IPAddress": "172.25.3.3",
"IPPrefixLen": ,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": ,
"MacAddress": "02:42:ac:19:03:03"
}
}
}
"Networks": {
"isolated_nw": {
"Aliases": [
"e9bce535ae32"
],
"EndpointID": "ef7244d32484407c3ec4aa30b7bdb0a6cbe3dbbfedc03e5c856ad20a08af172f",
"Gateway": "172.25.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": ,
"IPAMConfig": {},
"IPAddress": "172.25.0.2",
"IPPrefixLen": ,
"IPv6Gateway": "",
"Links": null,
"MacAddress": "02:42:ac:19:00:02",
"NetworkID": "a8208641505d2d8fc37bf7cbd1027c01f0def461815786e076ef4ae65b7b2f9b"
}
},
.png)
zane@zane-V:~$ docker attach container2
/ # ifconfig -a
eth1 Link encap:Ethernet HWaddr ::AC:::
inet addr:172.25.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80:::acff:fe19:/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (11.5 KiB) TX bytes: (648.0 B) eth2 Link encap:Ethernet HWaddr ::AC:::
inet addr:172.17.0.3 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80:::acff:fe11:/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (3.7 KiB) TX bytes: (648.0 B) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (0.0 B)
/ # ping -w container3
PING container3 (172.25.3.3): data bytes
bytes from 172.25.3.3: seq= ttl= time=0.077 ms
bytes from 172.25.3.3: seq= ttl= time=0.049 ms
bytes from 172.25.3.3: seq= ttl= time=0.047 ms
bytes from 172.25.3.3: seq= ttl= time=0.054 ms
zane@zane-V:~$ docker attach container2
/ # ping container3
PING container3 (172.25.3.3): data bytes
bytes from 172.25.3.3: seq= ttl= time=0.042 ms
bytes from 172.25.3.3: seq= ttl= time=0.050 ms
bytes from 172.25.3.3: seq= ttl= time=0.063 ms
^C
--- container3 ping statistics ---
packets transmitted, packets received, % packet loss
round-trip min/avg/max = 0.042/0.051/0.063 ms / # ping -w container1
ping: bad address 'container1' / # ping -w 172.17.0.2
PING 172.17.0.2 (172.17.0.2): data bytes
bytes from 172.17.0.2: seq= ttl= time=0.104 ms
bytes from 172.17.0.2: seq= ttl= time=0.052 ms
bytes from 172.17.0.2: seq= ttl= time=0.127 ms
bytes from 172.17.0.2: seq= ttl= time=0.057 ms --- 172.17.0.2 ping statistics ---
packets transmitted, packets received, % packet loss
round-trip min/avg/max = 0.052/0.085/0.127 ms
注意退出attach 时,使用ctr-p + ctr-q.
zane@zane-V:~$ docker attach container3
/ # ping -w 172.17.0.2
PING 172.17.0.2 (172.17.0.2): data bytes --- 172.17.0.2 ping statistics ---
packets transmitted, packets received, % packet loss
- 解析容器名到IP地址
- 定义网络别名
- --link=CONTAINER-NAME:ALIAS
- 增强网络连接的安全性
- 环境变量注入
zane@zane-V:~$ docker network disconnect isolated_nw container2
zane@zane-V:~$ docker network rm simple-network
simple-network
- 创建网络
- docker network create simple-network
- overlay网络条件
- 进入一个键值存储
- 与键值存储连接的主机集群
- 在集群中每个主机上正确配置deamon引擎
- 支持overlay网络的docker选项
- --cluser-store
- --cluster-store-opt
- --cluster-advertise
- 指定子网络,网关,地址范围
- 将容器添加到网络中
- docker network connect isolated_nw container2
- 一个容器可以连接到多个网络中
- 连接一个正在运行的容器
- docker attach
- attach 的退出
- ctr p + ctr q
- 默认bridge网络不支持,容器名称通信,其他网络支持;
- 使用link 来支持默认网络的容器名称通信
- 断开连接
- docker network disconnect isolated_nw container2
- 删除网络
- docker network rm simple-network
- 检测网络
- docker network inspect isolated_nw
Docker 网络命令的更多相关文章
- Docker网络及命令
Docker常用命令 docker version #查看版本 docker search centos #搜索可用docker镜像 docker images 查看当前docker所有镜像 dock ...
- Docker 网络及命令
Docker常用命令 docker version #查看版本 docker search centos #搜索可用docker镜像 docker images 查看当前docker所有镜像 dock ...
- 理解Docker(5):Docker 网络
本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- 【转】Docker网络详解及pipework源码解读与实践
好文必转 原文地址: http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-prac ...
- Docker网络基础
大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合. Docker目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务. 端口映射实现访问容器: 在启动 ...
- 关于Docker 常用命令
Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...
- Docker网络模式
[编者的话] 本文是<Docker网络及服务发现>一书的一个章节,介绍了搭建Docker单主机网络的基础内容.关于Docker网络的更多内容,包括多主机的网络,请参考该书的其他章节. @C ...
- docker网络访问(三)
docker网络访问 ifconfig查看网卡,启动docker的时候,docker会帮我们创建一个docker0的网桥. 1.随机映射 docker run -P 2.指定映射 -p hostPor ...
- 谁用光了磁盘?Docker System命令详解
译者按: Docker镜像,容器,数据卷以及网络都会占用主机的磁盘空间,这样的话,磁盘很容易就会被用完.这篇博客介绍了一个简单的解决方案 - Docker System命令. 原文: What's e ...
随机推荐
- ECharts 实现人民的名义关系图谱 代码开源
1.什么是ECharts ECharts是百度开源的纯 Javascript 图表库,目前开源可以与highcharts相匹敌的一个图表库,相信有很多国内用户使用. 官网 http://echarts ...
- centos7安装redis3.0和phpredis扩展详细教程(图文)
整理一下centos7安装redis3.0和phpredis扩展的过程,有需要的朋友可以拿去使用. 一.安装redis3.0 1.安装必要的包 yum install gcc 2.centos7安装r ...
- 【原创】bootstrap框架的学习 第七课 -[bootstrap表格]
Bootstrap 表格 标签 描述 <table> 为表格添加基础样式. <thead> 表格标题行的容器元素(<tr>),用来标识表格列. <tbody& ...
- openresty源码剖析——lua代码的加载
##Openresty是什么 OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,通过把lua嵌入到Nginx中,使得我们可以用轻巧的lua语言进行nginx的相关开发,处理 ...
- CVSS3.0打分学习
打分计算器: Common Vulnerability Scoring System Version 3.0 Calculator: https://www.first.org/cvss/calcul ...
- [ext4]空间管理 - 分配机制
在Ext4系统中,存在很多分配策略,比如预分配.多块分配.延迟分配等 Prealloc预分配 在ext4系统中,对于小文件和大文件的空间申请请求,都有不同的分配策略.对用小文件的空间请求,e ...
- POJ1850-Code 递推数学
题目链接:http://poj.org/problem?id=1850 题目大意: 按照字典序对升序排列组成的字母进行编号,给出一个长度不超过10的串,求出它的编号是多少?如果无法进行编号则输出0. ...
- 第三章 霍夫变换(Hough Transform)
主要内容: 霍夫变换的作用 霍夫变换检测直线的原理 霍夫变换检测圆的原理 OpenCV中的霍夫变换 1.霍夫变换检测直线原理 霍夫变换,英文名称Hough Transform,作用是用来检测图像中的直 ...
- 【JAVAWEB学习笔记】12_Http&Tomcat
一.Http协议 1.什么是Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的 一种网络协议.所有的WWW文件都必须遵守这 ...
- 【JAVAWEB学习笔记】27_Redis:在Linux上的安装、Jedis和常用命令
一.Redis简介 1.关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据 库是基于特殊的结构,并将数据存储到内存的数据库.从性 ...