我有兩個Docker容器哪有一個碼頭工人容器調用另一個泊塢容器
- 一個Web API 調用的Web API現在
,我的本地網絡上
我不認爲我需要一個碼頭工人撰寫,因爲我是通過API的URL作爲API的參數,所以它只是確保此事的Dockerized API's
網址是Dockerized Console
任何想法訪問?
我有兩個Docker容器哪有一個碼頭工人容器調用另一個泊塢容器
,我的本地網絡上
我不認爲我需要一個碼頭工人撰寫,因爲我是通過API的URL作爲API的參數,所以它只是確保此事的Dockerized API's
網址是Dockerized Console
任何想法訪問?
如果使用撰寫功能,則可以輕鬆解決該問題。隨着撰寫,您只需創建一個配置文件(docker-compose.yml
)是這樣的:
version: '3'
services:
db:
image: postgres
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
,使其運行,只需調用up
這樣的:
docker-compose up
這是運行所有的堆棧的最佳方式,請查看該參考文獻: https://docs.docker.com/compose/
成功!
這個想法不是傳遞url,而是要調用其他容器的主機名。
見Networking in Compose
默認情況下撰寫設立一個單一的網絡爲您的應用程序。服務的每個容器都加入默認網絡,並且該網絡上的其他容器都可以訪問它們,並且可以通過與容器名稱相同的主機名來發現它們。
這是什麼取代deprecated --link
option。
如果您的容器未在單個Docker服務器節點上運行,則Docker Swarm Mode會在多個節點上啓用該發現功能。
您可以使用link
選項與docker run
:
運行API:
docker run -d --name api api_image
運行客戶端:
docker run --link api busybox ping api
您應該看到api
可以通過碼頭工人解決。
這就是說,與docker-compose
去仍然是一個更好的選擇。