2019最新在windows10下 安装docker 使用kitematic并且配置nginx+php环境
首先先在windows10上新建2个文件夹。用来挂载nginx 和php的网站以及其他配置文件
H:\docker\nginx
H:\docker\php
首先下载最新版本的kitematic 下载地址:https://kitematic.com
注意入坑,千万别再docker右击kitematic 直接下载安装,因为docker上的kitematic 连接是老版本的,很多BUG没修复,可能导致下载不了镜像等很多问题。所以一定 要进去官网下载最新版本才可以正常使用!
下载好了以后 直接搜索 nginx ,注意 nginx官方版本是画红圈的那个,第一个是docker官方放出的版本。我使用的是画红圈的,
点击CREATE,下载安装镜像,php操作方案一样!如果要选版本点击CREATE左边的三个点进行自己想要的版本勾选再下载镜像安装容器!(如下图)
把nginx和php 都安装完成后。复制镜像里面的配置等目录到本机硬盘来。
#复制php目录下的到本地
[code]docker cp php:/usr/local/etc H:/docker/php
#复制nginx下面的配置文件
[code]docker cp nginx:/etc/nginx/ H:/docker/nginx
现在看 windows10 H盘 的本地目录是否有nginx php的配置以及目录文件了!
有文件以后,然后在kitematic上手动删除这2个容器,或者使用下面的命令:
[code]docker rm
或者删除全部容器命令
[code]docker rm $(docker ps -a -q)
删除完以后,在kitematic界面上就没有刚刚那2个容器了,再使用命令行创建容器,挂载目录!
直接点击 kitematic 上的 DOCKER CLI 进入命令行,如下图:
# 创建并运行容器php(命令如下)
[code]docker run -p 9001:9000 --name myphp -v H:/docker/php/etc:/usr/local/etc -v H:/docker/nginx/html:/var/www/html -d php:7.2.17-fpm-alpine
命令解释 :
-p : 该参数设置端口对应的关系。所有访问宿主机9001端口的会转发到php容器的9000端口。
-name: 给这个容器创建一个名称我就叫 myphp
-v : 宿主机与容器的映射,把php容器的配置文件映射到本机的H盘里面来
-d : 该参数为后台运行之意
不明白的可以去自行学习下docker的命令参数
# 创建并运行容器nginx(命令如下)
[code]docker run --name mynginx -p 81:80 -v H:/docker/nginx/html:/usr/share/nginx/html:ro -v H:/docker/nginx/log:/var/log/nginx -v H:/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro --link myphp:php -d nginx
这里的 --link 意思是把nginx跟上面定义的myphp连接起来。不懂可以查看docker命令行
然后查看2个容器分别都启动成功了,但是别急现在还是不可以直接访问php文件的。只可以访问静态文件,那么怎么访问php文件呢。这里是重点,我看网上很多人都说的很模糊或者不成功的。下面仔细说下。
首先打开 H:\docker\nginx\nginx\conf.d 目录下的 default.conf 默认配置文件,如下图:画红框的都是网上所说的配置或者nginx默认配置,只有画绿框的可以成功运行php,为什么?如果平时在一台linux主机上画红圈的配置肯定可以成功执行,因为这里 nginx 跟 php 是2个单独的分开的容器,所以画红圈的地方配置是解析不了php网站的目录的,所以会报错404或者找不到文件之类的错误。这里的 172.17.0.2 ip地址可以通过命令查询php容器的ip地址:
[code]docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp
现在访问index.php 可以运行了:
为什么修改 /usr/local/etc/php 下面的 php.ini 不生效呢,我们在phpinfo上看见 php.ini 归属在 /usr/local/etc/php 这个目录里面 所以,我们把 H:\docker\php\etc 目录下的 php.ini 剪切复制到 H:\docker\php\etc\php 下面即可。如下图:现在修改php.ini里面的内容就可以生效了!
总结注意3个地方
1.你的nginx运行的网站目录一定要跟php的网站目录一样。
2.你的php fastcgi_pass 一定要可以让nginx访问。
3.你的fastcgi_param目录一定要改成你php网站目录的,而不是你nginx的网站目录,不然fastcgi解析不了nginx目录,因为2个是不同的容器
这只是在windows10环境下配置的 nginx + php 环境最常见问题解决方法,linux主机未测试。有喜欢折腾的朋友可以去测试下。
Docker 常用命令集:
[code] #查看镜像列表 docker images #删除单个镜像 docker rmi image-id(image-id就是你镜像的id) #删除所有镜像 docker rmi $(docker images -q) #强制删除单个镜像 docker rmi -f image-id(image-id就是你镜像的id) #查看运行中的容器 docker ps #查看所有容器 docker ps -a #停止单个容器 docker stop container-id(container-id就是你容器的id) #停止所有容器 docker stop $(docker ps -a -q) #删除单个容器 docker rm container-id(container-id就是你容器的id) #删除所有容器 docker rm $(docker ps -a -q) #进入容器 docker exec -it (container-id就是你容器的id) bash #查看镜像、容器、数据卷所占用的空间。 docker system df
- PHP环境配置:Windows下XAMPP的安装说明与使用
- 手把手教你在centos下编译安装配置高性能web服务器环境nginx+php(fast-cgi)+mysql等/适合小内存vps使用
- PHP环境配置:Windows下XAMPP的安装说明与使用
- windows下安装配置nginx+php环境
- Win7、windows 2008 IIS7.5下载安装方法以及教程 IIS7配置PHP环境图文教程(fastcgi快速最新版)
- PHP环境配置:Windows下AppServ配置与安装使用教程
- Linux(CentOS6.x)下使用yum软件管理工具安装LNMP(Nginx+PHP+Mysql)环境并配置虚拟主机vhost
- PHP环境配置:Windows下XAMPP的安装说明与使用
- nginx+PHP服务器环境安装与配置学习(一) - windows系统基础环境搭建
- 手把手教你在centos下编译安装配置高性能web服务器环境nginx+php(fast-cgi)+mysql等/适合小内存vps使用
- PHP环境配置:Windows下XAMPP的安装说明与使用
- Apache+php在windows下的安装与配置(最新版)
- Apache+php+mysql在windows下的安装与配置图解(最新版)
- Windows7下PHP开发环境安装配置图文方法
- 搭建Windows系统下php开发环境有很多种方式,比如LAMP的配置、php IDE和调试工具的选择等等。根据每个人喜好不同有很多配置方式。这里主要介绍的是利用XAMPP集成安装和配置apache、
- windows下安装pear及phpunit(注意配置好php命令行环境)
- PHP环境搭建:Windows 7下安装配置PHP(5.3.2
- win环境20分钟搭建php+sql服务器Apache+php+mysql在windows下的安装与配置图解
- PHP 开发环境的选择、建立及使用(4)--Apache 的安装和配置
- Windows 下 PHP 开发环境配置系列二(使用 MODx CMS)