《Docker》组队学习第4次打卡

主题:Docker网络

外部访问容器

容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过-P-p参数来指定端口映射。

当使用-P标记时,Docker会随机映射一个端口到内部容器开放的网络端口。 使用docker container ls可以看到,本地主机的 32768 被映射到了容器的 80 端口。此时访问本机的 32768 端口即可访问容器内 NGINX 默认页面。

$ docker run -d -P nginx:alpine

映射所有接口地址

使用hostPort:containerPort格式本地的 80 端口映射到容器的 80 端口,可以执行

映射到指定地址的指定端口

可以使用ip:hostPort:containerPort格式指定映射使用一个特定地址,比如localhost地址127.0.0.1

映射到指定地址的任意端口

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

查看映射端口配置

使用docker port来查看当前映射的端口配置,也可以查看到绑定的地址

容器互联

如果之前有 Docker使用经验,可能已经习惯了使用--link参数来使容器互联。 随着 Docker 网络的完善,强烈建议大家将容器加入自定义的Docker网络来连接多个容器,而不是使用 --link参数。

新建网络

$ docker network create -d bridge my-net

-d参数指定Docker网络类型,有bridge overlay,其中overlay网络类型用于Swarm mode

连接容器

运行一个容器并连接到新建的my-net网络

$ docker run -it --rm --name busybox1 --network my-net busybox sh

配置DNS

在容器中使用 mount命令可以看到挂载信息

如果用户想要手动指定容器的配置,可以在使用docker run命令启动容器时加入如下参数: -h HOSTNAME或者--hostname=HOSTNAME设定容器的主机名,它会被写到容器内的/etc/hostname 和 /etc/hosts。但它在容器外部看不到,既不会在docker container ls中显示,也不会在其他的容器的/etc/hosts看到。

--dns=IP_ADDRESS添加 DNS 服务器到容器的/etc/resolv.conf中,让容器用这个服务器来解析所有不在 /etc/hosts 中的主机名。

--dns-search=DOMAIN设定容器的搜索域,当设定搜索域为.example.com时,在搜索一个名为host的主机时,DNS 不仅搜索 host,还会搜索host.example.com

这节内容一点多,未完待续~~~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值