Docker网络设置

Docker容器互联的几个基本方法

(1)容器挂载主机目录:-v –volumns-from

(2)容器之间互联: –link

(3)外部访问容器:-p

(4)直接使用宿主机网络

  docker run --rm=true --net=host --name=mydb -e MYSQL_ROOT_PASSWORD=123456 mysql
  # 使用以下命令查看容器IP与主机完全一致
  docker exec -it mydb ip addr

(5)容器共用一个IP网络

  docker run --rm=true --name=mydb -e MYSQL_ROOT_PASSWORD=123456 mysql
# 创建新容器,指定与已有容器共用IP
  docker run --rm=true --net=container:mydb java ip addr
# 共用IP的两个容器,相互怎么访问?(使用localhost)
# 用ubuntu自带工具ifconifg查看网络设置(网桥、接口等)【注意:是ifconfig不是ipconfig!^_^】
  ifconifg  
# 使用ip addr查看网络信息
  ip addr

一、自定义网桥

docker安装时会自动创建docker0虚拟网桥。现在创建自己网桥

# 安装网桥工具brctl
sudo apt-get install bridge-utils

#查看网桥设备
sudo brctl show

# 添加网桥
sudo brctl addr br0

# 设置网桥IP
sudo ipconfig br0  192.168.100.1 netmask 255.255.255.0

# docker应用指定的网桥: (1)编辑配置:DOCKER_OPTS="-b=br0"
sudo vim /etc/default/docker
# docker应用指定的网桥: (2)重启docker服务
sudo service docker restart
# 查看docker设置是否应用
ps -ef | grep docker
# 查看docker网络设置是否生效
ipconfig

二、Docker容器互联

docker默认允许容器间互联

重启容器时,ip地址变化,但是如果使用–link连接容器,对应容器IP分配时会更新本容器host引用它的IP(解决容器间互联出现的ip问题时,运行容器指定link)

【目标】
1、允许容器间的互联
2、阻止容器间的互联
3、允许部分容器互联

准备用于测试的Dockerfile

FROM ubuntu:14.04
RUN apt-get install -y ping
RUN apt-get update
RUN apt-get install -y nginx
RUN apt-get install -y curl
EXPOSE 80
CMD /bin/bash

构建镜像

# 构建镜像
docker build -t "ubuntu14:nginx" .
# 创建容器 cct1
docker run -it --name cct1 ubuntu14:nginx
# 启动nginx
nginx

1、使用link指定链接容器的引用别名(好处是:重启容器IP变化时,别名正常使用)

# 创建容器时指定链接容器别名
doc
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值