时间:2021-05-19
外部访问
随机映射端口
映射所有接口地址
映射到指定地址的指定端口
映射到指定地址的任意端口
指定udp端口
查看映射端口配置
新建一个docker网络
运行容器连接到新建的my-net网络
查看容器信息
多个容器互联 推荐Docker Compose
配置DNS 宿主机DNS信息更新后,所有Docker容器的DNS配置通过/etc/resolv.conf立即更新
配置全部容器的DNS
容器互联
容器的连接系统是除了端口映射外另一种可以与容器中应用进行交互的方式。
它会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息。
自定义容器名
连接系统根据容器的名称执行,所以需要自定义一个较为简单容易区分的容器名。
自定义命名使用--name参数,这个在之前的文章中已经遇到过了:
docker run -d -p --name db mysql容器的命名必须是唯一的。
执行docker run时,如果加上--rm参数,容器在终止后悔立即被删除,但是不能与-d参数一同使用。
容器互联
使用--link参数可以让容器间建立安全的连接进行交互。
下面是一个示例:
首先创建一个数据库的容器:
docker run -d --name db training/postgres然后创建web容器:
docker run -d -P --name web --link db:db training/webapp python app.py此时db容器和web容器加你互联关系。
--link参数:--link name:alias,name是要连接的容器的名字,alias是这个连接的别名。
可以使用docker ps查看容器信息,其中names列就能看出互联的状态。
docker在两个互联的容器之间建立了一个安全隧道,不需要吧他们的端口映射到宿主主机上,也可以避免端口的暴露。
Docker通过两种方式公开连接信息:
使用env命令查看刚刚的web容器的环境变量:
docker run --rm --name web2 --link db:db training/webapp env ...其中DB_开头的环境变量是供web容器连接db容器使用,前缀采用大写的连接别名。
除了环境变量,Docker还添加host信息到父容器的/etc/hosts文件。其中web容器会以自己的ID作为默认主机名,db容器以db作为主机名。
比如多个web到db容器的情况,可以链接多个子容器到父容器上。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
大量的互联网应用服务包含多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合。Docker目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络
dockerpythonapi安装配置的详解1.docker宿主机配置文件修改$vim/etc/default/docker#再已有OPTS中添加DOCKER_
网络基础配置虽然Docker可以根据镜像“多开”容器,并而每个容器互不影响,但并不代表容器与容器之间是完全决裂的。Docker在运行镜像
本节描述如何在Docker默认网桥中配置容器DNS。当您安装Docker时,就会自动创建一个名为bridge的桥接网络。注意:Docker网络功能允许您创建除默
jenkins构建Docker镜像实例详解前言:jenkins有Docker镜像,而之前我们说过使用jenkins打包Docker镜像,那么可否用jenkins