【问题标题】:Docker Compose run a commandDocker Compose 运行命令
【发布时间】:2016-05-17 12:44:08
【问题描述】:

我想用 docker compose 运行一个命令,它不工作,容器启动并消失,没有任何错误

web:
    image: nginx:latest
    ports:
        - "8888:80"
    volumes:
        - ./dir:/dir
    command: bash -c "chown -R www-data:www-data /dir"
    links:
        - php

我认为命令正在执行但容器停止了,我应该添加其他东西吗?

【问题讨论】:

    标签: nginx docker docker-compose


    【解决方案1】:

    我通常做和推荐的是只在 Dockerfile (RUN chown -R www-data:www-data /dir) 中使用命令。如果您需要在“启动时”运行任何东西(例如保持容器运行),您可以在 docker-compose.yml 中执行此操作:

    web:
    image: nginx:latest
    ports:
        - "8888:80"
    volumes:
        - ./dir:/dir
    entrypoint: /root/start_services.sh
    links:
        - php
    

    在 start_services.sh 中,您需要运行 tail -f /var/log/syslog 以保持容器运行。

    start_services.sh 文件被复制到容器内的 /root 目录中。

    【讨论】:

    • 容器工作正常但消失了..即使无限循环
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 2020-10-08
    相关资源
    最近更新 更多