Docker网络设置及文件挂载

网络设置
–net=bridge— 默认选项,用网桥的方式来连接docker容器。
–net=host— docker跳过配置容器的独立网络栈。
–net=container:NAME_or_ID— 告诉docker让这个新建的容器使用已有容器的网络配置。
–net=none— 告诉docker为新建的容器建立一个网络栈,但不对这个网络栈进行任何配置,所以只能访问本地网络,没有外网。


一.桥接模式

当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口
# docker run -it -P --name mynginx nginx #为容器做端口映射

使用桥接模式时,docker会创建一个docker0 的网桥,并将这个网络设备加入到docker0网桥中,可以通过brctl show命令查看。

或者使用以下方法,nginx 映射的端口固定为32774 和 32775:

# docker port mynginx 443/tcp -> 0.0.0.0:32774 80/tcp -> 0.0.0.0:32775

使用 -p(小写的)则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器,-p 标记可以多次使用来绑定多个端口。支持的格式有 ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort 。

可以使用 hostPort:containerPort 映射所有接口地址:

# docker run -d -p 5000:5000 --name mydocker nginx

此时默认会绑定本地所有接口上的所有地址。
可以使用 ip:hostPort:containerPort 格式指定映射使用一个特定地址,映射到指定地址的指定端口

# docker run -d -p 127.0.0.1:5000:5000 --name mydocker nginx

使用 ip::containerPort 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。映射到指定地址的任意端口:

# docker run -d -p 127.0.0.1::5000 --name mydocker nginx

二.主机host模式

#docker run -d --net host saltstack/ubuntu-14.04 python -m SimpleHTTPServer
#ss -tnlp 查看当前主机的端口

http://hostip:8000 端口查看网站

 

获取docker的ip地址

#docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockername

 

容器间通信:
  通过link参数,把container的端口信息暴露到另一个container中,实现container之间的通信,相当于动态的添加host文件
docker run --link redis:db -t saltstack/ubuntu-14.04 sh -c "export"

 

文件挂载:文件挂载必须用绝对路径,

docker run -it -v /test:/soft:ro centos /bin/bash
/test:/soft:ro  主机目录:docker容器目录:只读(可以不要)


转载于:https://www.cnblogs.com/xuyingzhong/p/9436839.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值