繁体   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