网站建设 考虑,品牌推广的概念,湖州市建设局网站6,网站架构搭建9 | Docker中网络功能知识梳理和了解 1 外部访问容器1.1 访问方式1.2 映射所有接口地址1.3 映射到指定地址的指定端口1.4 映射到指定地址的任意端口1.5 查看映射端口配置 2 容器互联2.1 新建网络2.2 连接容器 3 配置DNS 简单说#xff1a;Docker 允许通过外部访问容器或容器互… 9 | Docker中网络功能知识梳理和了解 1 外部访问容器1.1 访问方式1.2 映射所有接口地址1.3 映射到指定地址的指定端口1.4 映射到指定地址的任意端口1.5 查看映射端口配置 2 容器互联2.1 新建网络2.2 连接容器 3 配置DNS 简单说Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。 1 外部访问容器
1.1 访问方式
要想让外部访问容器中的一些网络应用需要通过 -P 或 -p 参数来指定端口映 射-P Docker 会随机映射一个端口到内部容器开放的网络端口docker container ls 查看到本地主机的 32768 被映射到了容器的 80 端口此时访问本机的 32768 端口即可访问容器内 NGINX 默认页面 docker run -d -P nginx:alpine -p指定要映射的端口在一个指定端口上只可以绑定一个容器。
# 支持的格式
ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort 1.2 映射所有接口地址
方式hostPort:containerPort 默认会绑定本地所有接口上的所有地址举例本地的80映射到容器的80端口
docker run -d -p 80:80 nginx:alpine1.3 映射到指定地址的指定端口
方式ip:hostPort:containerPort指定映射使用一个特定地址举例比如localhost 地址:
docker run -d -p 127.0.0.1:80:80 nginx:alpine
我这里端口已经被绑定了所以会报错先不管这个
1.4 映射到指定地址的任意端口
方式ip::containerPort举例绑定 localhost 的任意端口到容器的 80 端口本地主机会自动分配一个端口
docker run -d -p 127.0.0.1::80 nginx:alpine1.5 查看映射端口配置
命令 docker port
2 容器互联
2.1 新建网络
创建新的docker网络
docker network create -d bridge mynet2.2 连接容器
运行容器并连接到刚才新建的网络mynet
docker run -it --rm --name busybox1 --network mynet busybox sh打开新的终端再运行一个容器并加入到 mynet 网络
docker run -it --rm --name busybox2 --network mynet busybox sh再打开一个终端查看容器信息 使用ping命令来验证两个容器建立了互联关系
3 配置DNS
Docker 利用虚拟文件来挂载容器的 3 个相关配置文件通过mount命令查看挂载信息 宿主主机 DNS 信息发生更新后所有 Docker 容器的 DNS 配置通过 /etc/resolv.conf文件立刻得到更新配置全部容器DNS也可以在 /etc/docker/daemon.json 文件中增加以下内容来设置
{dns : [123.123.123.123,6.6.6.6]
}则每次启动容器DNS为以上的配置。使得配置生效的命令为 docker run -it --rm ubuntu:18.04 cat etc/resolv.conf