Docker 容器的网络连接 & 容器互联
1. Docker 容器网络基础架构
Docker0
ifconfig
查看到的 docker0
是linux的虚拟网桥(OSI数据链路层)
docker0 地址划分:
172.17.42.1 255.255.0.0
总共提供65534个地址
修改docker0 IP池
sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0
网桥管理工具:
bridge-utils
;sudo brctl show
查看网桥设备。添加虚拟网桥:sudo brctl addrbr br0
,更改docker的启动配置:在/etc/default/docker
中添加DOCKER_OPS
值:-b=br0
即可。
linux虚拟网桥特点:可以设置IP地址,相当于拥有一个隐藏的虚拟网卡
2. Docker 容器的互联
- docker在默认时是允许所有容器连接
- docker拒绝容器间互联
- 允许特定容器互联
-icc=true
默认允许容器互相连接
通常重启容器IP会改变,随容器启动而改变!
docker run --link=[CONTAINER_NAME]:[ALIAS] [IMAGE] [COMMAND]
以指定代号访问容器,可避免IP变化带来的影响,在容器中即可以用别名访问容器(修改了host和改变了env)。(官方不推荐,使用docker network)
- 特定容器访问:
- --icc
- --iptable=true(允许添加到iptable中)
- --link
3. Docker 容器与外部网络的连接
1.ip_forward
--ip-forward=true
决定系统是否转发流量
sysctl net.ipv4.conf.all.forwarding
查看数据转发是否开启
2.iptables包过滤防火墙系统,允许端口映射访问,限制IP访问容器
- 表table
- 链chain
- 规则rule
filter表中包含的链:
- INPUT
- FORWARD
- OUTPUT
查看filter表(默认):
sudo iptables -L -n
添加一条限制访问:
sudo iptables -I DOCKER -s 源IP -d 目的IP -p TCP(协议) --dport 80(端口) -j DROP(操作)
Docker 容器的网络连接 & 容器互联的更多相关文章
- Docker容器的网络连接
Docker容器的网络连接 Docker容器的网络连接 我们用ifconfig命令来查看网络设备 我们可以看到上面有个叫docker0的网络设备,docker守护进程就是通过docker0为docke ...
- Docker基本命令与使用 —— Docker容器的网络连接(四)
一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务. docker0是Linux虚拟 ...
- Docker学习(13) Docker容器的网络连接
Docker容器的网络连接 Docker容器的网络基础 先安装网桥管理工具 Docker容器的互联 默认 Docker容器与外部网络的连接
- Docker容器的网络连接:
yw1989@ubuntu:~$ ifconfig docker0 Link encap:Ethernet HWaddr 02:42:97:61:42:9f inet addr:172.17.0.1 ...
- docker使用ssh远程连接容器(没钱买服务器又不想安装虚拟机患者必备)
突然有需求,需要使用go语言写个ssh终端连接功能,这时候手上又没有服务器,虚拟机也没有,正好使用docker搞起来 docker容器开启sshd服务,模拟服务器 我们知道docker是可以用exec ...
- ubuntu 创建容器 并ssh 连接容器
1.下载镜像:docker search ubuntu docker pull ubuntu 2. 创建容器 docker run --name spider_frame -p 8888:8888 - ...
- docker 查看容器的网络连接
#! /bin/bash echo $1 PID=$(docker inspect -f '{{.State.Pid}}' $1) nsenter -t $PID -n netstat |grep E ...
- docker之容器访问和网络连接(三)
前言 当一台服务器上部署了多个应用容器,它们直接可能需要相互通信,比如web应用容器需要访问mysql数据库容器. 主机访问容器 通过映射端口的形式我们可以在外部访问容器内的服务 # 将主机的127. ...
- Docker使用Link与newwork在容器之间建立连接
一,使用 --link容器互联 docker 默认使允许container 互通的(通过-icc=false 关闭互通)同一个宿主机上的多个docker容器之间如果想进行通信,可以通过使用容器的ip地 ...
随机推荐
- PHP 扩展篇 _ 持续更新
记住这个网站:http://pecl.php.net/ PHP-Redis扩展更新时间:2019/05/06 PHP安装Redis 1:下载目前最新版的redis插件 wget http://pecl ...
- 封装了一个电商放大镜移入放大的功能,适用于VUE
代码地址:https://github.com/zhongqiulan/jqimgzoom 由于vue只支持ie9以上版本,所以这个插件也是一样的 效果图: 第一步,在goodsinfo文件中引入cs ...
- 2017浙江工业大学-校赛决赛 XiaoWei的战斗力
Description XiaoWei沉迷RPG无法自拔,但是他的战斗力只有5,所以他决定氪金提升战斗力.XiaoWei购买了n个福袋.打开1个福袋后,有以下三种情况出现:1.获得屠龙宝刀,概率为p1 ...
- jq:jQuery库文件jquery.scrollLoading.js使用方法
图片延迟加载,滚动到哪里加载到哪里: 1:头部加载库文件 <script type="text/javascript" src="/js/jquery.scroll ...
- 关于EasyML的使用
一.安装IntelliJ Idea 具体安装过程比较简单.但是遇到一个问题,如今LInux版本的IntelliJ的安装需要jdk1.8及以上版本的支持,但是EasyML目前仅支持jdk1.7的环境. ...
- jQuery banner切换插件
今天学写了一个基于jQuery焦点图切换插件,有不对的地方还请多多指教,不多说下面是代码: 1.引jQuery库 <script src="http://code.jquery.com ...
- nginx错误Upstream timed out
Upstream timed out (110: Connection timed out) while reading response header from upstream 这种情况主要在下面 ...
- Error resolving template: template might not exist or might not be accessible是一句缩水报错?
一 thymeleaf在开发的时候本地调试正常,但是在测试环境打成jar包就报这个错误了. 二 template might not exist or might not be accessible ...
- 译:Java 中的正则表达式性能概述
原文链接:https://www.baeldung.com/java-regex-performance 作者: baeldung 译者:Darren Luo 1. 概述 在本快速教程中,我们将展示模 ...
- 上传图片转为blob URL和计算文件大小
{ getFileUrl: function getFileUrl(fileInputId) { var uri = { url: '', filename: '', filetype: '', da ...