我將php和nginx一起封在了一個docker裡,如何讓nginx和php自啟動?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 12:59:56
0
2
355

我每次新建一個容器時,都要進入容器裡面,啟動nginx和php,請問如何每次新建容器時都讓nginx和php自啟動?

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆(2)
淡淡烟草味

你可以使用supervisord來管理

  1. 先進入容器安裝supervisord,(安裝過程網上搜下)

建議將主設定檔放在:/etc/supervisord.conf vim /etc/supervisord.conf

[unix_http_server]
file=/var/run/supervisor.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisord]
nodaemon=true

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock

[include]
files = /etc/supervisor/conf.d/*.conf

然後在/etc/supervisor/conf.d/加入php和nginx的啟動指令

例如加nginx, vim /etc/supervisor/conf.d/nginx_super.conf

[program:nginx]
command=nginx
  1. 然後提交一個新的鏡像出來,例如

docker commit -a "qclaogui" -m "bulabula" nginx-php:commit

  1. 寫新的Dokcerfile

FROM nginx-php:commit

MAINTAINER xxx@xxx.com

EXPOSE 80 443

ENTRYPOINT ["/usr/bin/supervisord","-c","/etc/supervisord.conf"]
  1. 重新建構一個鏡像

docker build -t nginx-php:v1 .

  1. 基於新建的鏡像運行容器

docker run --name test-nginx-php -p 8081:80 -d nginx-php:v1注意这里用的是-d參數

根據你的情況,大致解決思路是這個樣子,可以參考一下

仅有的幸福

你需要在 Dokcerfile 里写上 CMD ["nginx", "-g", "daemon off;"]

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!