docker部署php+nginx环境以及laravel框架连接数据库

自己记录一下,以防忘记,有需要的朋友可以参考,以及提出意见。

1.下载镜像

下载mysql: docker pull mysql (默认最高版本)

下载php+nginx: docker pull daocloud.io/a735416909/nginx-php7:latest 

2.开启容器

 docker run -d --name nginx_php -P -v D:\var\www\html:/var/www/html/ daocloud.io/a735416909/nginx-php7:latest 

-d  分离模式: 在后台运行

-P  映射随机端口

-v  将主机中目录挂载到容器中的某个目录

 docker run -d --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 

-d  分离模式: 在后台运行

-p  将容器的3306端口映射到主机的3307端口

-e  MYSQL_ROOT_PASSWORD=123456(初始化root用户的密码)

(图仅供参考,有些不同之处)

3.检测php+nginx有没有安装成功

在我们主机挂载的目录中(D:\var\www\html)创建一个phpinfo

docker部署php+nginx环境以及laravel框架连接数据库_第1张图片

这样就算安装成功了

4.检测mysql是否安装成功(是否可以远程连接)

我用Navicat测试

docker部署php+nginx环境以及laravel框架连接数据库_第2张图片

5.laravel框架连接数据库

在我们主机挂载位置(D:\var\www\html)下,安装laravel框架(安装过程不做过多叙述),安装完成后,我们用php artisan来建表(同时检测laravel能否连接mysql数据库)

在laravel框架.env修改连接数据库的配置

docker部署php+nginx环境以及laravel框架连接数据库_第3张图片

DB_HOST:地址为容器地址

DB_PORT:端口号

DB_DATABASE:数据库名称

DB_USERNAME:用户名

DB_PASSWORD:密码

 docker inspect --format '{{ .NetworkSettings.IPAddress }}'  或 docker inspect  或 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id 

ip地址位置

docker部署php+nginx环境以及laravel框架连接数据库_第4张图片

配置完成后写一个测试方法获取数据。

 

转载于:https://www.cnblogs.com/BrokenHeart/p/10728596.html

你可能感兴趣的:(docker部署php+nginx环境以及laravel框架连接数据库)