我有这样的搬运工,撰写:码头工人,组成不运行命令
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