Docker容器互联
简介:docker可以定义一个连接系统将多个容器都连接在一起,共享连接信息。docker链接会创建一个父子关系,其中父容器可以看到子容器的信息。
新建网络
使用命令docker network ls
来查看当前已有的docker网络。
使用命令docker network create -d bridge <name>
来创建一个新的docker网络。
参数说明:
- -d:指定docker网络类型,有bridge、overlay等
连接容器
1.创建一个容器testa并连接到新建的my-net网络。
2.创建一个容器 testb 加入到新建的 my-net 网络。
3.通过 ping 来证明 testa 容器和 testb 容器建立了互联关系。
首先,需要在容器内安装ping
命令
在容器 testa 中 ping testb
在容器 testb 中 ping testa
配置DNS
设置全部容器的DNS
可以在宿主机的/etc/docker/daemon.json
文件中添加以下内容来设置全部容器的DNS。
注:配置完需要重启docker服务(systemctl restart docker
)才会生效,启动容器的DNS会自动配置为 114.114.114.114 和 8.8.8.8
示例:启动一个容器并查看该容器的DNS是否生效。
|
|
设置指定容器的DNS
|
|
参数说明:
- -h
:设定容器的主机名,会被写入到容器内的 /etc/hostname 和 /etc/hosts。 - –dns=ip_address:添加 DNS 服务器到容器的 /etc/resolv.conf 中,让容器用这个服务器来解析所有不在 /etc/hosts 中的主机名。
- –dns-search=DOMAIN: 设定容器的搜索域,当设定搜索域为 test.com 时,在搜索一个名为 hostname 的主机时,DNS 不仅搜索 hostname,还会搜索 host.test.com。
注:如果容器启动时没有指定–dns和–dns-search,docker默认使用宿主机上/etc/resolv.conf来配置容器的DNS
最后更新: 2020年07月30日 09:16
原始链接: https://www.lousenjay.top/2020/07/30/从零开始的Docker详解(五)/