- doker安装网上很多参考资料,下一步到底就行
- 在网上参考了许多文章,都没有成功的在本地搭建起php+nginx的环境,不是那里有些坑就是这里有些坑
配置环境
nginx:latest
php:7.1-fpm
- 下载镜像
docker pull php:7.1
docker pull nginx:latest
创建PHP容器
- 镜像拉取完毕,进行容器的创建,并且将容器文件夹映射到本地文件夹,进行文件共享
D:\wnmp\www 我的本地文件夹路径
- 创建php容器
docker run -d -p 9000:9000 -v D:\wnmp\www:/var/www --name php71 php:7.1-fpm
- 常用命令:
-d表示后台运行
-p表示将宿主机端口映射到本机端口
-v表示目录挂载 将宿主机目录挂载到容器目录【冒号前面是宿主机目录,冒号后是容器内的目录】
–name 指定容器名称
后面指定创建容器使用的镜像。
容器状态变更:
启动容器:docker start 容器名/容器ID
停止容器:docker stop 容器名/容器ID
重启容器:docker restart 容器名/容器ID
删除容器:docker rm 容器名/容器ID
删除镜像:docker rmi 镜像名/镜像id
创建nginx容器
- 如上挂载本地目录,注意与上面的目录一致
docker run -d -p 8080:80 -v D:\wnmp\www:/var/www --name mynginx nginx:latest
- 在本地
www
文件夹里面创建一个index.php
文件
- 进入到
nginx
容器中,我们发现我们在本地创建的index.php
文件在nginx
中进行了同步
nginx配置
- 如果没有将
nginx
的配置文件同步在本地文件的话,只能在容器里面修改,容器里面是没有安装vim
的,我这里就把文件拷贝到本地修改,修改完毕在拷贝到容器里面
docker cp mynginx:/etc/nginx/conf.d/default.conf D:\wnmp\www\default.conf
- 配置nginx,文件地址一致,php端口ip为doker的ip,可以在cmd里面用ipconfig获取
- 将配置过的nginx拷贝回容器
docker cp D:\wnmp\www\default.conf mynginx:/etc/nginx/conf.d/default.conf
- 重启nginx
- 在本地文件index.php里面写上,我们的本地doker搭建算是完工了,我们可以放上自己的项目到里面用了
<?php
phpinfo();
注意:php中缺少很多扩展,缺少的拓展需要自己安装