[英]In docker-compose, how do I connect an app in one container to a postgres db in another container
[英]How do I start a docker container in Docker-Compose from an app running in another docker container
我有兩個應用程序/服務要在 docker-compose 下運行。 (AppA 和 AppB)
我希望在運行 docker-compose up 時啟動 AppA,而不是 AppB。 並且在滿足各種條件之后,我希望AppA(它是docker容器中的一個Go應用程序)啟動AppB的docker容器。
我的 docker-compose.yml 文件定義了這兩個服務,如果使用以下命令啟動:
docker-compose up
AppA 和 AppB 都開始運行。 (所以我相信我的 docker-compose.yml 配置正確)如果我只想運行 AppA(我確實想要!)我運行這個命令:
docker-compose up AppA
並且只有 AppA 會啟動。 (到目前為止一切都很好。)
當我到達要啟動 AppB 的點時,我讓 AppA 從 golang 代碼調用以下內容:
cmd := exec.Command("docker run AppB")
要么
cmd := exec.Command("docker-compose start AppB")
這兩個都會產生錯誤:
Error: fork/exec docker run AppB: no such file or directory.
關於如何從另一個 docker 容器內的 Go 應用程序啟動 docker 容器的任何想法?
我猜您還沒有將 AppB 復制到容器 appA 中。
你可以使用這個命令
docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
這允許您在容器和本地文件系統docker container cp之間復制文件/文件夾
在你的情況下,命令可以是:
docker container appA:/appB appB
從這點開始,你可以開始思考如何在容器 A 中運行容器 B。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.