Docker Compose运行命令

时间:2016-05-17 12:44:08

标签: nginx docker docker-compose

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

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

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

1 个答案:

答案 0 :(得分:0)

我通常所做和建议的是仅在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目录中。