Docker
為什麼有些碼頭工人使用碼頭網路而不是連結參數?
我正在學習使用 docker,有些東西我沒有得到。docker的Etherpad Lite 映像連結 mysql 數據庫,如下所示:
$ docker network create ep_network $ docker run -d --network ep_network \ -e MYSQL_ROOT_PASSWORD=password --name ep_mysql mysql
最後你可以啟動一個 Etherpad Lite 實例:
$ docker run -d \ --network ep_network \ -e ETHERPAD_DB_HOST=ep_mysql \ -e ETHERPAD_DB_PASSWORD=password \ -p 9001:9001 \ tvelocity/etherpad-lite
是否可以對
--link
選項做同樣的事情?就像odoo容器一樣:啟動 PostgreSQL 伺服器
$ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo \ --name db postgres:9.4
啟動一個 Odoo 實例
$ docker run -p 8069:8069 --name odoo --link db:db -t odoo
- 為什麼使用 Etherpad
docker network
以及為什麼使用 odoo--link
?- 在哪種情況下,我應該使用第一種方式而不是第二種方式?
- 一些碼頭工人沒有關於集線器/商店的資訊,所以我怎麼知道我必須如何連結容器?
非常簡單的答案:
docker --link
是一個已棄用的功能,不應使用。對於任何新部署,請docker network
改用。有關更多資訊,請參閱https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/。
我猜
odoo
文件很舊,還沒有更新為使用docker network
樣式。另一方面,是的,您仍然可以
--link
使用 mysql 容器,etherpad
但請記住,這是一種已棄用的做事方式。