Docker容器连接

网络端口映射:
我们创建一个Python应用的容器
在这里插入图片描述
我们也可以使用-p标识指定容器端口绑定到主机端口
两种方式的区别是:
-P:是容器内部端口随机映射到主机的端口
-p:是容器内部端口绑定到指定的主机端口在这里插入图片描述
我们可以指定容器绑定的网络地址,比如绑定127.0.0.1在这里插入图片描述
默认都是绑定TCP端口,如果要绑定UDP端口,可以在端口后面加上/UDP
docker run -d -p 127.0.0.1:5001:5000/udp training/webapp python app.py
在这里插入图片描述
查看端口的绑定情况
docker port <容器 ID>
二、Docker 容器互联
端口映射并不是唯一把docker连接到另一个容器的方法
docker 有一个连接系统允许将多个容器连接在一起,共享连接信息
docker连接会创建一个父子关系,其中父容器可以看到子容器的信息

1.容器命名
当我们创建一个容器的时候,docker会自动对它进行命名。另外,我们也可以使用–name标识来命名容器,
docker run -d -P --name Sangfor training/webapp python app.py
在这里插入图片描述
2.新建网络
创建一个新的docker网络
1.查看容器的网络详情
docker network ls
在这里插入图片描述
参数说明:
-d:参数指定Docker 网络类型,有bridge、overlay
其中overlay网络类型用于 Swarm mode
3.连接容器
运行一个容器并连接到新建的test-net
docker run -itd --name test1 --network test-net ubuntu /bin/bash
在这里插入图片描述
打开一个新终端,在运行一个容器并加入到test-net网络
docker run -itd --name test2 --network test-net ubuntu /bin/bash
在这里插入图片描述
下面通过ping来证明test1容器和test2容器建立了互联关系
如果test1、test2容器中无ping命令,则在容器内执行一下命令安装ping(即学即用:可以在一个容器安装好,提交容器到镜像,在新的镜像重新运行一下两个容器)
进入容器中执行:
1.apt-get update
2.apt install iputils-ping
在这里插入图片描述
使用ping进行测试
在容器1中测试ping容器2
ping test2
在这里插入图片描述
在容器2中测试ping容器1
ping test1
在这里插入图片描述
这样,test1容器和test2容器建立了互联关系
如果你有多个容器之间需要互相连接,推荐使用Docker Compose

三、配置DNS
我们可以在宿主的/etc/docker/daemeon.json文件中增加以下内容来设置全部容器的DNS:
在这里插入图片描述
设置后,启动容器的DNS会自动配置为114.114.114.114和8.8.8.8
配置完,需要重启docker才能生效

查看容器的DNS是否生效可以使用以下命令,它会输出容器的DNS信息:在这里插入图片描述
在这里插入图片描述
参数解析:
在这里插入图片描述
如果在容器启动时没有指定 --dns和–dns-search,Docker会默认用宿主主机上的/etc/resolv.conf来配置容器的DNS

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值