一開始本來想着實現apache+mysql+php三個容器,奈何自己是個菜逼,搞了一段時間也沒有弄出來。主要問題我覺得在於apache鏈接php容器後沒有將php啓動或者說php不可用(也可能是自己配置apache的問題),後續有機會再研究一下吧。
這次採用的方式是apache+php爲一個容器,mysql爲另一個容器,linux環境爲centos 7.6。
我們這次採用的方式是拉一個centos的httpd然後在上面安裝php
docker pull centos/http
docker run --name httpd_test -d --restart always -p 80:80 -v /data/www:/var/www/html centos/httpd
然後通過docker exec 在容器中執行安裝php的命令
具體可以參考這篇文章https://www.jianshu.com/p/ffa601ad7563
這時候封裝好了apache+php的鏡像先不要啓動,先拉一個mysql的鏡像下來
docker pull mysql
docker run -d -p 127.0.0.1:3306:3306 --name mysqldb -e MYSQL_ROOT_PASSWORD=root mysql
這裏需要注意我-p 後面使用的是127.0.0.1也就是說只有我本機可以訪問,如果不需要這樣設置可以直接寫成-p 3306:3306。
然後我們啓動剛剛的鏡像
docker run -d -p 80:80 --name httpd_test -v /data/www:/var/www/html --link mysqlbd:mysql centos/http
使用–link就可以鏈接mysql,-v把你網站的地址掛載到容器中,這裏還可以加上日誌的地址等等。