我尝试使用以下命令将wordpress容器链接到mysql容器,并获取有关-link
的弃用选项的警告输出。
$ sudo docker -v
Docker version 0.9.0, build 2b3fdf2
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3987ba6ef34e p-baleine/mysql:latest /run.sh 22 seconds ago Up 21 seconds 0.0.0.0:49153->3306/tcp sad_euclid
$ sudo docker run -e="DB_PASSWORD=$DB_PASSWORD" -link sad_euclid:db -d -p 80 p-baleine/wordpress /run.sh
Warning: '-link' is deprecated, it will be removed soon. See usage.
我找不到任何关于链接选项弃用的信息。
为什么不推荐使用链接选项?此选项的替代方法是什么?
答案 0 :(得分:3)
我检查用法,我明白应该用前缀双连字符指定选项。
$ sudo docker run -e="DB_PASSWORD=$DB_PASSWORD" --link sad_euclid:db -d -p 80 p-baleine/wordpress /run.sh
答案 1 :(得分:1)
--link
也已弃用。
基本上不再需要链接,因为可以通过将链接添加到同一网络中来实现链接的主要目的(通过添加环境变量使另一个容器可访问)。而且,一一连接容器效率很低,并且可能会破坏网络隔离。
将容器放置在同一网络中时,可以使用其容器名称和其他别名作为主机相互访问它们。
docker network create mynet
docker run -d --net mynet --name container1 my_image
docker run -it --net mynet --name container1 another_image
答案 2 :(得分:0)
3年前,仍然可以使用--link
但是看看Docker文档,您会发现有关不推荐使用的链接选项的相同注意事项: https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/ (顶部的红色谨慎信息框)