我想用docker compose运行一个命令,它不工作,容器启动并消失而没有任何错误
web:
image: nginx:latest
ports:
- "8888:80"
volumes:
- ./dir:/dir
command: bash -c "chown -R www-data:www-data /dir"
links:
- php
我认为该命令正在执行但容器会停止,我应该添加其他内容吗?
答案 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目录中。