簡體   English   中英

在Mac上使用Docker Nginx,PHP,MySQL

[英]Using Docker Nginx, PHP, MySQL on Mac

我剛剛開始着手解決碼頭工作者,並希望將其用於項目。

我已經關注了https://docs.docker.com/docker-for-mac/#explore-the-application-and-run-examples並且NGINX正常運行並且可以看到NGINX登錄頁面。

我需要在我的容器中安裝php-fpm和mySQL,因為我的容器在這個階段只是NGINX嗎?

如何在自定義域上配置項目,例如project.dev 我是否需要在/etc/hosts編輯127.0.0.1 project.dev的條目,然后在NGINX配置中偵聽該URL?

最后我需要一個dockerfile嗎? 我已經有了我的容器,我的理解是dockerfile只用於定義容器?

NGINX,PHP和mySQL的dockerfile示例也有助於查看。

謝謝

不,本指南只顯示在docker中使用nginx容器。 但我看到容器沒有安裝php。 而你無法在這個容器中安裝php-fpm

所以,如果你想使用nginx使用nginxphpMySQL你應該pull

  1. 運行Nginx + PHP-FPM的容器(我推薦這個圖片https://hub.docker.com/r/richarvey/nginx-php-fpm/
  2. 容器運行MySQL( https://hub.docker.com/_/mysql/

下載圖片

docker pull richarvey/nginx-php-fpm
docker pull mysql:5.6

運行MySQL實例。 將其命名為mysql56,並使用端口3360公開

docker run -tid -p 3360:3306 --name mysql56 -e MYSQL_ROOT_PASSWORD=123456 -v /root/docker/mysql56/data/mysql:/var/lib/mysql  -d mysql:5.6

運行Nginx PHP + FPM實例。 將其鏈接到MySQL實例,並將其命名為project-dev

docker run -tid --name project-dev --link mysql56:mysql -v $(pwd):/var/www/html -p 8888:80 richarvey/nginx-php-fpm:latest

運行docker ps -a以查看正在運行的容器。

要使用地址project.dev訪問nginx,只需將其映射到/etc/hosts 然后在網絡瀏覽器http://project.dev:8888上訪問它

注意

  • -v /root/docker/mysql56/data/mysql:/var/lib/mysql這意味着我的mac上有/root/docker/mysql56/data/mysql ,並將它映射到mysql56容器中的/var/lib/mysql 因此,所有mysql數據都將備份在我的本地數據上,並且在刪除容器時不會丟失。
  • -v $(pwd):/var/www/html表示您當前的目錄將映射到容器。 因此,無論您在此目錄中編寫什么,都將存在於/var/www/html容器中。
  • 我使用端口8888來避免與現有的Web服務器沖突,您可以根據需要進行更改

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM