- 浏览: 831388 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
今天是2018.06.19
docker搭建php系列文章
用docker搭建php开发环境
用docker搭建php开发环境(2)
用docker搭建php开发环境(3)
本文主要参考了:
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
根据上面这个网址,找到html_url字段,然后用迅雷下载。
注意点 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下,执行命令
(3)php开发环境
本机,docker_study目录下建立 D:\lenovo_d\docker_study\zphal 目录
然后下载https://github.com/ZpGuo/zPhal-dockerfiles
点击下载zip文件,下载后,解压,再放到zphal目录下。
进入docker,
cd zphal/files
wget https://pecl.php.net/get/redis-3.1.6.tgz -O php/pkg/redis.tgz
然后,自己下载php自己的composer,版本1.6.5,需自己番 qiang,或者从我这篇文章的附件获取。文件名是composer.phar.拷贝到和redis.tgz一样的目录。
修改 D:\lenovo_d\docker_study\zphal\files\php\Dockerfile
把下面的话删除掉。
把下面的话删除掉。
把下面的话删除掉。
然后再加上composer的配置,完整版如下:
然后,在
D:\lenovo_d\docker_study\zphal\app 目录下建立一个index.php
内容是
准备工作已经差不多了。
但是还需要修改国内仓库地址
sudo vi /var/lib/boot2docker/profile
在--label provider=virtualbox的下一行添加:
--registry-mirror=https://registry.docker-cn.com
3.重启docker
需要先执行
docker-compose build这个命令。
最后执行
此时,容器都已正常启动。
最后,在宿主机打开浏览器
http://localhost/index.php
如果一切顺利(基本是不可能的),就会出现php的页面啦。
关闭容器,使用
docker-compose down这个命令。
docker搭建php系列文章
用docker搭建php开发环境
用docker搭建php开发环境(2)
用docker搭建php开发环境(3)
本文主要参考了:
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
根据上面这个网址,找到html_url字段,然后用迅雷下载。
注意点 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下,执行命令
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-dockerfiles
点击下载zip文件,下载后,解压,再放到zphal目录下。
进入docker,
cd zphal/files
wget https://pecl.php.net/get/redis-3.1.6.tgz -O php/pkg/redis.tgz
然后,自己下载php自己的composer,版本1.6.5,需自己番 qiang,或者从我这篇文章的附件获取。文件名是composer.phar.拷贝到和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
把下面的话删除掉。
COPY ./pkg/cphalcon.tar.gz /home/cphalcon.tar.gz
把下面的话删除掉。
rm rm -f /home/cphalcon.tar.gz
然后再加上composer的配置,完整版如下:
FROM php:7.2-fpm MAINTAINER goozp "gzp@goozp.com" # set timezome ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # Install package and PHP Core extensions RUN apt-get update && apt-get install -y \ git \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd \ && docker-php-ext-install zip \ && docker-php-ext-install pdo_mysql \ && docker-php-ext-install opcache \ && docker-php-ext-install mysqli \ && rm -r /var/lib/apt/lists/* # Copy extensions had downloaded COPY ./pkg/redis.tgz /home/redis.tgz COPY ./pkg/composer.phar /usr/local/bin/composer # Install PECL extensions (Redis) RUN pecl install /home/redis.tgz && echo "extension=redis.so" > /usr/local/etc/php/conf.d/redis.ini # Install Composer ENV COMPOSER_HOME /root/composer # RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer ENV PATH $COMPOSER_HOME/vendor/bin:$PATH RUN chmod a+x /usr/local/bin/composer RUN rm -f /home/redis.tgz WORKDIR /data # Write Permission RUN usermod -u 1000 www-data
然后,在
D:\lenovo_d\docker_study\zphal\app 目录下建立一个index.php
内容是
<?php phpinfo();
准备工作已经差不多了。
但是还需要修改国内仓库地址
sudo vi /var/lib/boot2docker/profile
在--label provider=virtualbox的下一行添加:
--registry-mirror=https://registry.docker-cn.com
3.重启docker
需要先执行
docker-compose build这个命令。
最后执行
docker-compose up -d
此时,容器都已正常启动。
最后,在宿主机打开浏览器
http://localhost/index.php
如果一切顺利(基本是不可能的),就会出现php的页面啦。
关闭容器,使用
docker-compose down这个命令。
- docker_practice.zip (5 MB)
- 下载次数: 4
- composer.zip (444 KB)
- 下载次数: 2
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 677本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 812centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1222本文只考虑centos7 今日 2020-11-16 rem ... -
win10 安装docker
2020-11-14 11:26 362首先,需到docker官网注册,有个账号和密码。 1.进入d ... -
composer常用命令
2020-11-05 14:46 1445列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 490期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 1093ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 813一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 633coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 891deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 645假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 881php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 962php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 656根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 828phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 423如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 778方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 820在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 696整理了一下phalcon的db使用,写了个demo。 ...
相关推荐
本文主要解决的是在使用 Docker 搭建 PHP 开发环境时遇到的权限问题。具体表现为:当我们将宿主机上的代码目录挂载到 Docker 容器中时,由于宿主机与容器内的文件系统用户权限不同,导致容器内的 PHP 应用无法正常...
docker 快速搭建php环境 docker包,一键启动开发环境,docker 快速搭建php环境 docker包,一键启动开发环境
快速的搭建一个php开发环境,镜像包括php,mysql,nginx,适合php的开发者
docker搭建适合thinkphp5的lnmp+redis开发环境,nginx版本为最新版本 php版本为7.3 mysql版本为5.7 需要先安装了composer 和docker环境 在html目录下面执行composer update下载第三方开发包 之后执行docker-compose ...
基于Docker的完整PHP开发环境。 支持各种通用服务,所有这些都预先配置为提供完整PHP开发环境。 首先使用Docker-然后再了解它! 基于Docker的完整PHP开发环境。 支持各种通用服务,所有这些都预先配置为提供完整PHP...
在Ubuntu操作系统上搭建PHP开发环境是一项常见的任务,尤其对于开发者来说,这有助于创建和测试基于PHP的Web应用程序。本文将详细介绍如何在Ubuntu上配置Apache服务器、安装MySQL数据库、添加PHP支持以及部署...
docker搭建适合thinkphp6的lnmp+redis开发环境,nginx版本为最新版本 php版本为7.3 mysql版本为5.7 redis版本为5.0,thinkphp6的代码放到html目录下面 执行docker-compose up -d ,启动容器
本教程将详细解释如何使用docker-compose搭建一个包含PHP 7.4(集成Swoole和Swoole Loader扩展)以及MySQL 5.7的开发环境。 首先,让我们了解Docker。Docker是一种开源的应用容器引擎,它允许开发者打包他们的应用...
Homestead 是一个官方预封装的 Vagrant Box,也就是一个虚拟机,但是跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢,现在有了 docker 这种更好的方式,可以轻松方便的搭建整套 PHP 开发环境。...
docker下 搭建 PHP+mysql+redis+nginx 开发环境, 并实现一键自动化部署,保证了在各个平台上的一致性,既方便又高效。
本文详细介绍了如何在Linux环境下搭建LAMP环境,包括卸载旧版本、系统环境部署及调整、安装所需开发包以及具体组件的安装过程。遵循以上步骤,您可以成功地在自己的Linux系统上搭建起一套完整的LAMP环境,从而支持...
【标题】中的“保姆级docker搭建php7.4(redis+swoole+swoole-loader+dg)服务”是指通过Docker容器技术,详细指导如何构建一个包含PHP 7.4、Redis、Swoole以及Swoole Loader和Docker Compose配置的服务器环境。...