自己记录一下,以防忘记,有需要的朋友可以参考,以及提出意见。
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:varwwwhtml:/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:varwwwhtml)创建一个phpinfo
这样就算安装成功了
4.检测mysql是否安装成功(是否可以远程连接)
我用Navicat测试
5.laravel框架连接数据库
在我们主机挂载位置(D:varwwwhtml)下,安装laravel框架(安装过程不做过多叙述),安装完成后,我们用php artisan来建表(同时检测laravel能否连接mysql数据库)
在laravel框架.env修改连接数据库的配置
DB_HOST:地址为容器地址
DB_PORT:端口号
DB_DATABASE:数据库名称
DB_USERNAME:用户名
DB_PASSWORD:密码
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID> 或 docker inspect <container id> 或 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
ip地址位置
配置完成后写一个测试方法获取数据。