今天是2018.06.19
本文主要参考了:
https://www.goozp.com/article/77.html
原作者:
咖灰怪’s Blog
总体来说,利用docker安装php环境分为两步。
1.安装docker。
2、安装docker下的php开发环境。
中间的坑有无数。
1、安装docker
官方的文档其实已经非常详细了。
我在附件中也直接提供。
我的电脑是win7,需要使用虚拟机,官方的安装包里全都有。
安装程序名为 DockerToolbox.exe(https://docs.docker.com/toolbox/toolbox_install_windows/,这个是网址,点击页面的 get docker toolbox for windows这个大按钮,即可下载。)
基本按照默认即可(记住你的安装程序路径),为了防雷,需要先删除本机已经装好的git,和虚拟机。
安装完毕,生成三个快捷方式,打开Docker Quickstart Terminal,
初始化,初始化也是个大难点。
点击Docker Quickstart Terminal图标开始初始化,会有一个cmd窗口出现。
注意点:
注意点 1、boot2docker.iso文件总会自动
远程下载,,最佳策略,中止安装,把安装程序路径下的boot2docker.iso拷贝到C:\Users\<UserName>\.docker\
machine\cache中(总之,这个应该拷贝的目的地是可以通过cmd窗口看到的路径),然后把网线拔了,然后再次初始化动作。
额外说明,其实如果想要最新的iso也行,方法是:
https://api.github.com/repos/boot2docker/boot2docker/releases/latest
根据上面这个网址,找到
注意点 2、虚拟化设置
有可能需要改笔记本或者台式机的bios设置。
进去BIOS (惠普的电脑
开机的时候 长按ESC进入BIOS)设置 Virtualization为enable。
这一步不同的机子不一样,只要进去了BIOS自己找这个设置在哪里。
假定你已经安装成功了,就能看到大鲸鱼。
执行命令
docker --version
可以看到你安装的docker的
版本。我的是 18.03
2、安装php
如前所述。是参考了他人的文章,
(1)安装前的配置
1、配置虚拟机的80和windows宿主机的80端口相连。
双击虚拟机图标。
菜单设置 - 网络 - 网卡1 - 连接方式 NAT -
端口转发 - 右边添加按钮,名称自己起,
协议tcp,主机ip127.0.0.1,主机端口80,子系统端口80
注意这里,主机指windows宿主机,子系统指虚拟机。
2、配置虚拟机的一个目录和windows宿主机的一个目录相连。
共享文件夹这么设置。
首先本地D:\ lenovo_d \ docker_study ,建立这个文件夹。
然后
虚拟机菜单 - 设置 - 共享文件夹 - 固定分配 - 添加按钮 - 名称 docker_study 路径,就是上面的本地路径。自动挂载是,
访问权限,完全。
然后呢,自己测试一下,看在window宿主机的d盘目录下建立文件,是否在虚拟机里能看到这个文件。
可能需要
重启虚拟机。
3、使用putty连接docker。
为了更象在linux里使用docker,我使用了putty这个工具。
网上可以下载到,解压后即可使用。
下载地址:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
随便zip也行,或者msi也行。32也行,64也行,都能用。
ip
127.0.0.1
端口:
打开虚拟机图标,查看设置-网络- 端口转发 - ssh的主机端口。
账号填写docker,密码是tcuser。
点击login即可登陆虚拟机里的docker。
下文说的docker里,就是指打开putty登陆后的窗口。
4、不是必须步骤,仅供参考。
现在,如果想要虚拟机的文件放在非c盘。
转移docker文件到D盘。
为避免c盘越来越大,可以转移虚拟机镜像到D盘。
首先,在资源管理器里面给D盘加目录D:\docker_machine,然后把C盘下面目录的machine这个目录剪切到D:\docker_machine下,
然后,在cmd命令行
mklink /J C:\Users\Administrator\.docker\machine D:\docker_machine\machine
这样,C盘那个目录就只是链接而已,不占用
硬盘空间。
(2)安装docker-compose
这个东东,是相当于docker的强化命令。因为,docker下,通常会同时运行几个容器,例如对于php,来说,有php-fpm,nginx,mysql,redis这个地球人都知道的四大必备工具。
docker下,执行命令
class="java" name="code">
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
(3)php开发环境
本机,docker_study目录下建立 D:\lenovo_d\docker_study\zphal 目录
然后下载https://github.com/ZpGuo/zPhal-docker
files
点击下载zip文件,下载后,解压,再放到zphal目录下。
进入docker,
cd zphal/files
wget https://pecl.php.net/get/redis-3.1.6.tgz -O php/pkg/redis.tgz
修改 D:\lenovo_d\docker_study\zphal\files\php\Dockerfile
把下面的话删除掉。
# Install Phalcon extensions
RUN cd /home \
&& tar -zxvf cphalcon.tar.gz \
&& mv cphalcon-* phalcon \
&& cd phalcon/build \
&& ./install \
&& echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/phalcon.ini
然后,在
D:\lenovo_d\docker_study\zphal\app 目录下建立一个index.php
内容是
<?php
phpinfo();
准备工作已经差不多了。
docker-compose up -d
也可能需要先执行
docker-compose build这个命令。
最后,在宿主机打开浏览器
http://localhost/index.php
如果一切顺利(基本是不可能的),就会出现php的页面啦。
关闭容器,使用
docker-compose down这个命令。
- docker_practice.zip (5 MB)
- 下载次数: 0