通过--link选项,可以在一个主机上的容器间进行安全的交互通信,在docker run命令中可以重复使用该参数,让一个容器与多个容器进行通信。用法实例: sudo docker run --link redis:redisA --name console ubuntu bash
上述命令的意思:在ubuntu镜像之上启动一个容器,并将该容器命名为console,同时将新启动的console容器连接到名为redis的容器上,然后把redis容器在本容器的记录命名为redisA。
通过--link选项不但可以避免容器ip和端口暴露到外网导致安全问题,还可以防止容器重启之后ip地址变化导致访问失败的问题。它的原理类似DNS服务器的域名和地址映射,当容器ip地址发生变化时,docker将自动维护映射关系中的ip地址信息。
利用--link来连接容器时,需要注意容器的启动顺序,比如上面的命令,必须是在redis容器启动后执行,否则命令执行会出错。