繁体   English   中英

如何运行两个命令作为单个 docker-compose“命令”的一部分?

[英]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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM