我有這樣的搬運工,撰寫:碼頭工人,組成不運行命令
web:
build: ../../
dockerfile: environments/production/Dockerfile
links:
- fpm:fpm
- redis:redis
- elasticsearch:elasticsearch
- beanstalkd:beanstalkd
volumes:
- /var/cache/nginx
- ../../:/app:ro
...
composer:
image: imega/composer
volumes:
- ../../:/data
command: ["install"]
node:
image: node:slim
volumes:
- ../../:/app
working_dir: /app
entrypoint: npm
command: ["install"]
我們的目標是在建造安裝作曲家和節點DEPS。它應該在理論上工作,但實際上在容器定義中編寫的命令不會執行。任何命令。我試圖在那裏運行'echo',或'ls'。 - 沒有。
任何想法爲什麼?
音量設置爲主機目錄,這是理念 - 服務與主機直接相互作用,直接向主機安裝依賴關係。這就是這個容器如何設計使用:https://hub.docker.com/r/imega/composer/ 問題不在某些服務中,但是傳遞給「command」的ANY命令不起作用。我在那裏寫'ls'。或'回聲嗨' - 沒有輸出。 »»是否有一個原因,你不想讓作曲家安裝和npm安裝作爲你的應用程序構建過程的一部分? - 事實上,我正試圖爲自動部署獲得最佳的工作流程。你認爲有更好的方法? – Terion
早些時候,我已經嘗試了一種方法,當應用程序在主容器(網絡)中生成並測試時,這一切都是在dockerfile中編寫的。這是行得通的,但現在我試圖讓事情變得更加乾燥,更單一的責任,因爲它應該在碼頭工人。我甚至從fpm中分離出了nginx。考慮到這一點,我正在嘗試重新設計工作流程。 – Terion