系列文章目录
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。
**
Docker容器下搭建Php7开发环境
**
一、安装镜像
1.nginx
docker pull nginx
2.php
docker pull php:7.1.30-fpm
二、实例化容器
1.创建文件
/var/hank/docker/one 容器宿主机目录
/var/hank/docker/one/web 宿主机web 目录
/var/hank/docker/one/nginx/conf.d 宿主机nginx配置
在 conf.d 目录下创建配置文件:default.conf 内容如下
server {
listen 80;
listen [::]:80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html/public; #项目启动目录
index index.php index.html index.htm;
#伪静态
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
#/var/www/html/ 为php容器根目录
fastcgi_param SCRIPT_FILENAME /var/www/html/public$fastcgi_script_name;
include fastcgi_params;
}
}
三、实例化
#实例化php
docker run --name myphp712 -v /var/hank/docker/two/web:/var/www/html -d --privileged=true php:7.1.0-fpm
--name 指定容器名称
-v 宿主机目录:容器目录 挂载
#实例化nginx
docker run -p 8000:80 -v /var/hank/docker/two/web:/usr/share/nginx/html -v /var/hank/docker/two/nginx/conf.d:/etc/nginx/conf.d --link myphp712:php --privileged=true -d nginx
-p 宿主机端口转容易端口
-v 宿主机目录:容器目录 挂载
--link多个容器链接
四、测试
在宿主机 /var/hank/docker/one/web 下 放入thinkphp 项目
访问 宿主机IP+端口号 #.#.#.#:8000
项目即可运行
参考资料
Docker 官方文档.
Docker 入门教程.
Docker — 从入门到实践.
Docker for beginners.
Setting up PHP, PHP-FPM and NGINX for local development on Docker.
总结
到此为止 docker安装lnmp环境成功!