php - 如何在Docker镜像上启动服务?

标签 php nginx docker dockerfile php-7

我为图像创建了Dockerfile以便在FPM + Nginx上运行PHP7,但是我无法获得该图像以正确启动服务。

应该如何精确地做到这一点?

这是我目前正在做的事情:

CMD service php7-fpm start; \
    service php7-fpm status; \
    service nginx start; \
    service nginx status

最佳答案

在管理多种服务时,您需要用户监督。

在您的Dockerfile中。

Additional commands...
RUN apt-get update && apt-get install -y supervisor
ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf
Additional commands...
CMD ["/bin/supervisord", "-c /etc/supervisor/conf.d/supervisord.conf"]

administratord.conf
[supervisord]
nodaemon=true

[program:php7]
command=<command to start php7>
autostart=true
autorestart=true
<repeat for additional services>...

这将确保一旦一切开始容器就不会退出。请记住,Docker应该是一个进程环境,该进程在前台运行,而不是在后台作为服务运行。

关于php - 如何在Docker镜像上启动服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32232403/

相关文章:

web-services - Nginx SSL 直通不适用于 REST Web 服务

java - Spring Boot 应用程序无法在 AWS 上运行

php - 如果任何作业失败,Cron 作业会自动重试

php - Laravel 身份验证

HTTP 基本身份验证背后的 Django Rest 框架

nginx - 如何在nginx配置中有条件地添加标题?

docker - Docker错误:使用apk时无法满足的约束

docker - 本地docker和k8的 react 不同

php - 处理不使用 POST 访问 PHP 进程页面的用户

javascript - 检查我的 php BD 上是否存在元素并将其显示在 html 上