我如何 运行 两个命令作为单个 docker 的一部分 - 组成 "command"?
How do I run two commands as part of a single docker-compose "command"?
我正在使用 Docker v. 20.10.12。我已经在我的 docker-compose 文件中设置了这个容器…
web:
restart: always
build: ./my-web
ports:
- "3000:3000"
expose:
- '3000'
env_file: ./my-web/.docker_env
command: rm -f /app/tmp/pids/*.pid && foreman start -f Procfile.hot
volumes:
- ./my-web/:/app
depends_on:
- db
当我开始使用“docker-compose up”时,上面的容器总是显示这个消息
my-web-1 exited with code 0
在此之前没有其他信息。但是,如果我将命令更改为
command: tail -F anything
然后登录docker容器,我可以运行
rm -f /app/tmp/pids/*.pid && foreman start -f Procfile.hot
很好,没有错误。我如何 运行 将其作为启动我的 Docker 容器的一部分而无需执行上面的手动步骤?
尝试将所有命令放入外部 sh 文件中。
在 docker-compose 使用
命令:/bin/sh -c "yourshfile.sh"
你可以做到
command: /bin/sh -c "rm -f /app/tmp/pids/*.pid && foreman start -f Procfile.hot"
我正在使用 Docker v. 20.10.12。我已经在我的 docker-compose 文件中设置了这个容器…
web:
restart: always
build: ./my-web
ports:
- "3000:3000"
expose:
- '3000'
env_file: ./my-web/.docker_env
command: rm -f /app/tmp/pids/*.pid && foreman start -f Procfile.hot
volumes:
- ./my-web/:/app
depends_on:
- db
当我开始使用“docker-compose up”时,上面的容器总是显示这个消息
my-web-1 exited with code 0
在此之前没有其他信息。但是,如果我将命令更改为
command: tail -F anything
然后登录docker容器,我可以运行
rm -f /app/tmp/pids/*.pid && foreman start -f Procfile.hot
很好,没有错误。我如何 运行 将其作为启动我的 Docker 容器的一部分而无需执行上面的手动步骤?
尝试将所有命令放入外部 sh 文件中。 在 docker-compose 使用
命令:/bin/sh -c "yourshfile.sh"
你可以做到
command: /bin/sh -c "rm -f /app/tmp/pids/*.pid && foreman start -f Procfile.hot"