赞
踩
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默认允许容器间互联
重启容器时,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
# 创建容器时指定链接容器别名
doc
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。