我想有以下Dockerfile與LAMP運行(Ubuntu的)
Dockerfile創建一個泊塢(LAMP)圖像:
start-script.sh:
#!/bin/bash
service mysql start
a2enmod rewrite
service apache2 start
我建立它:
docker build -t resting/ubuntu .
然後運行它:
docker run -it -p 8000:80 -p 5000:3306 -v $(pwd)/html:/var/www/html resting/ubuntu bash
的問題是,在MYSQL
和Apache2
服務未啓動。
如果我在容器中手動運行/root/start-script.sh
,端口80可以很好地映射到端口8000,但我無法連接到MYSQL
和127.0.0.1:5000
。
當我旋轉帶圖像的容器並將MYSQL映射到主機時,如何確保服務正在運行?
已經嘗試過'CMD',但容器在執行後退出。 該鏈接有助於打破容器。但不知何故,'MYSQL'不是與'PHP'容器交談,可能會在多次嘗試後發佈另一個問題。 – resting
容器因爲進程完成而退出,因爲'service apache2 start'在後臺執行'Apache2'。因爲它有一個主要的執行過程,所以容器是存在的。如果您希望它保持活躍狀態,請在前臺運行exec'Apache2'或'MySQL'。 – kstromeiraos