- 浏览: 830806 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
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天了坚持为了我的衣衣
身体健康的问题
利用docker构建完整centos环境开发php
本人原创文章,转载请注明出处。注意,本文的开发环境是win7,使用docker-toolbox。
当前日期:2019-06-16
概述
虽然已经有开发php的docker套件,但是有时仍然想在独立的centos环境下开发php,当然,宿主机是windows电脑。
此时,应用本文,可以方便的开发php,把自己的电脑当成centos。
要点:
阿里云的docker管理后台地址是特别的:
https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fcr.console.aliyun.com%2F%3Fspm%3D5176.1971733.0.2.sezm8g%26accounttraceid%3Dca51394a-9a94-4bf4-af57-e60459167886#/imageSearch
https://cr.console.aliyun.com/cn-hangzhou/new
1、虽然docker教程上说RUN指令应该少些,可是实际构建时,每次失败只会从最近的RUN指令重新构建。所以,当构建命令多时,适当分隔成几个RUN指令,会很有利。
2、remi是一个重要的仓库,且其官网有中国镜像,但本文未考虑。
3、mysql那个有点麻烦,所以,我使用套件里的mysql。而不把mysql装在centos里。
4、利用docker-compose套件安装使用镜像的好处是,进入容器,启动容器的参数都可以配置在docker-compose.yml 这个文件中,明显比单独使用docker 命令好使。
5、安装centos的开发环境,时间较长,得有心理准备。但装好后,使用是很方便的。
6、本文构建未考虑清理,考虑是更好的。
7、利用本文构建php开发环境时,现在有两种方案,一种是使用标准的、docker官方推荐的每个进程使用一个容器的方法,本文代码里有php56和php72,另一种方法是使用独立的centos开发php,当然,这两种情况都需要使用mysql-db。
8、为了便于记住键盘命令,把.bash_history映射到共享文件夹。
9、.bashrc文件可以随意修改,自行配置喜欢的centos环境。
10、nginx的配置,和php的配置文件,可以随意修改。只需重新up镜像(不用重装)即可,太方便啦!!
命令列表
从下载地址clone后,首先得clone在 虚拟机的共享目录下。假设code是共享目录。在c盘根目录。
git clone https://github.com/xieye114/docker_multiple_php.git code
然后进入docker,
cd /code/myapp/build
下面这个文件从网上拷贝过来。进行构建centos。等构建完centos,再构建其他,其他都快。
快的原因是原始镜像较完备,而我是从标准的centos7.4的镜像构建的,差很多东西。
/code/docker-compose build centos
这一步很长时间,如果网络不顺畅,可以用ctrl+c强行中止,再重复执行。联通网较好。
等执行完之后
/code/docker-compose up -d centos
或者
/code/docker-compose up -d centos mysql-db
然后
/code/docker-compose exec centos bash
现在就可以愉快的在centos里玩耍了!
下载安装
https://github.com/xieye114/docker_multiple_php
里面有具体的安装步骤,但centos未来得及写进去。
部分源码
本人原创文章,转载请注明出处。注意,本文的开发环境是win7,使用docker-toolbox。
当前日期:2019-06-16
概述
虽然已经有开发php的docker套件,但是有时仍然想在独立的centos环境下开发php,当然,宿主机是windows电脑。
此时,应用本文,可以方便的开发php,把自己的电脑当成centos。
要点:
阿里云的docker管理后台地址是特别的:
https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fcr.console.aliyun.com%2F%3Fspm%3D5176.1971733.0.2.sezm8g%26accounttraceid%3Dca51394a-9a94-4bf4-af57-e60459167886#/imageSearch
https://cr.console.aliyun.com/cn-hangzhou/new
1、虽然docker教程上说RUN指令应该少些,可是实际构建时,每次失败只会从最近的RUN指令重新构建。所以,当构建命令多时,适当分隔成几个RUN指令,会很有利。
2、remi是一个重要的仓库,且其官网有中国镜像,但本文未考虑。
3、mysql那个有点麻烦,所以,我使用套件里的mysql。而不把mysql装在centos里。
4、利用docker-compose套件安装使用镜像的好处是,进入容器,启动容器的参数都可以配置在docker-compose.yml 这个文件中,明显比单独使用docker 命令好使。
5、安装centos的开发环境,时间较长,得有心理准备。但装好后,使用是很方便的。
6、本文构建未考虑清理,考虑是更好的。
7、利用本文构建php开发环境时,现在有两种方案,一种是使用标准的、docker官方推荐的每个进程使用一个容器的方法,本文代码里有php56和php72,另一种方法是使用独立的centos开发php,当然,这两种情况都需要使用mysql-db。
8、为了便于记住键盘命令,把.bash_history映射到共享文件夹。
9、.bashrc文件可以随意修改,自行配置喜欢的centos环境。
10、nginx的配置,和php的配置文件,可以随意修改。只需重新up镜像(不用重装)即可,太方便啦!!
命令列表
从下载地址clone后,首先得clone在 虚拟机的共享目录下。假设code是共享目录。在c盘根目录。
git clone https://github.com/xieye114/docker_multiple_php.git code
然后进入docker,
cd /code/myapp/build
下面这个文件从网上拷贝过来。进行构建centos。等构建完centos,再构建其他,其他都快。
快的原因是原始镜像较完备,而我是从标准的centos7.4的镜像构建的,差很多东西。
/code/docker-compose build centos
这一步很长时间,如果网络不顺畅,可以用ctrl+c强行中止,再重复执行。联通网较好。
等执行完之后
/code/docker-compose up -d centos
或者
/code/docker-compose up -d centos mysql-db
然后
/code/docker-compose exec centos bash
现在就可以愉快的在centos里玩耍了!
下载安装
https://github.com/xieye114/docker_multiple_php
里面有具体的安装步骤,但centos未来得及写进去。
部分源码
docker-compose.yml文件 services: centos: build: ./centos privileged: true ports: - "80:80" - "443:443" - "8001:8001" volumes: - ../../workspace:/var/www:rw - ../data/centos_composer/cache:/root/.composer/cache:rw - ../data/centos_composer_vendor:/root/vendor:rw - ../data/centos_redis:/data/centos_redis:rw - ./centos/centos_file/.bash_history:/root/.bash_history:rw - ./centos/centos_file/.bashrc:/root/.bashrc:rw - ./centos/centos_file/start:/bin/start:rw - ./centos/centos_file/crontab:/etc/crontab:rw - ./centos/php/php.ini:/opt/remi/php72/root/etc/php.ini:ro - ./centos/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./centos/nginx/conf.d:/etc/nginx/conf.d:ro restart: always command: "/usr/sbin/init"
centos的Dockerfile FROM centos:7.4.1708 WORKDIR /root RUN curl --silent --location https://rpm.nodesource.com/setup_10.x | bash - \ && yum install -y nodejs \ && curl -o- -L https://yarnpkg.com/install.sh | bash RUN yum install -y wget epel-release \ && yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm \ && yum install -y yum-utils \ && yum-config-manager --enable remi-php72 \ && yum install -y nginx php72 redis zip unzip rsync crontabs vim ntp supervisor RUN yum install -y php72-php-devel php72-php-fpm php72-php-mbstring php72-php-memcache php72-php-redis php72-php-mysqli php72-php-mysqlnd php72-php-pdo php72-php-bcmath php72-php-dom php72-php-gd php72-php-gmp php72-php-igbinary php72-php-imagick php72-php-mcrypt php72-php-pdo_mysql php72-php-posix php72-php-simplexml php72-php-opcache php72-php-xsl php72-php-xmlwriter php72-php-xmlreader php72-php-xml php72-php-swoole php72-php-zip php72-php-phalcon \ && ln -s /usr/bin/php72 /usr/bin/php \ && sed -i 's/user\ =\ apache/user\ =\ nginx/g' /etc/opt/remi/php72/php-fpm.d/www.conf \ && sed -i 's/group\ =\ apache/group\ =\ nginx/g' /etc/opt/remi/php72/php-fpm.d/www.conf RUN curl https://setup.ius.io | sh \ && yum remove -y git \ && yum install -y git2u \ && git config --global core.autocrlf false \ && git config --global core.safecrlf false \ && git config --global user.name 'test' \ && git config --global user.email 'test@qq.com' \ && curl -s http://getcomposer.org/installer | php \ && mv composer.phar /usr/local/bin/ \ && chmod a+x /usr/local/bin/composer.phar \ && ln -s /usr/local/bin/composer.phar /usr/local/bin/composer \ && composer config -g repo.packagist composer https://packagist.laravel-china.org EXPOSE 80 443 6379
.bashrc 文件如下 alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi PS1='[\u@centos in docker \W]\$ ' timedatectl set-timezone Asia/Shanghai localectl set-locale LANG=zh_CN.utf8 export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" yarn config set registry https://registry.npm.taobao.org systemctl start php72-php-fpm systemctl start redis systemctl start nginx systemctl start crond systemctl start ntpd # systemctl start supervisord
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 674本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 809centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1218本文只考虑centos7 今日 2020-11-16 rem ... -
win10 安装docker
2020-11-14 11:26 359首先,需到docker官网注册,有个账号和密码。 1.进入d ... -
composer常用命令
2020-11-05 14:46 1437列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 486期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 1089ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 809一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 631coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 888deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 645假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 880php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 961php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 654根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 826phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 423如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 778方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 816在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 694整理了一下phalcon的db使用,写了个demo。 ...
相关推荐
CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0
基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php5.6.40镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network...
基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php7.4.33镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network ...
基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php7.1.33镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network ...
不人道的人/www 这是一个基本的 CentOS7/Apache/PHP-FPM Docker 镜像。 它可以通过在 /var/www 上安装主机卷来单独使用,但它旨在成为更复杂设置的模型。使用docker run -d -p 80:80 -v /path/to/site/files:/var/...
docker-centos-phabricator 一个 Dockerfile,它生成一个基于 CentOS 的 Docker 镜像,它将运行最新的稳定。 构建基于 。包含的包(及其依赖项) Phabricator (Phabricator, Arcanist, libphutil) 吉特示例 Makefile...
这是我的带有PHP 7.6.16 docker image的Apache 2.4.37的构建源。 该映像基于CentOS 8(最新版本)构建。 它还包括用于mysql访问的php-mysqli。
CentOS以其稳定性和兼容性著称,广泛应用于服务器部署、开发环境以及云计算平台。此外,CentOS 8.5作为中间版本,包含了大量更新的安全补丁、软件包升级以及系统优化。 【压缩包子文件的文件名称列表】只有一个文件...
在构建PHP开发环境时,我们需要关注三个主要组件:Apache服务器、MySQL数据库以及PHP解释器。以下是如何在Windows和Linux系统中分别配置这些组件的详细步骤。 **一、下载组件** 1. **Apache**:你可以从Apache官方...
centos7下基于docker-compose构建的lnmp环境,本环境构建过程使用的是yii2进行相关测试,所以可以支持yii2的运行 LNMP(Docker + Docker-compose + Nginx + MySQL5.7 + ...
在IT领域,LAMP(Linux、Apache、MySQL、PHP)是一种常见的开源软件堆栈,用于构建动态网站和网络应用程序。本教程将详细讲解如何在CentOS操作系统上安装配置LAMP服务器,包括Apache2、PHP5和MySQL5.0。 首先,确保...
本文档旨在详细介绍如何在Linux操作系统环境中利用Docker容器技术部署内容管理系统(Content Management System, CMS)。CMS是一种用于管理和发布网站内容的工具,它能够帮助用户无需深入掌握HTML或其他编程语言即可...
HHVM 版本 3.6-dev(下一个 LTS - 长期支持)从 CentOS-7 上的源代码构建。 注意:如果你想自己构建它,需要一段时间......(小时)。 HHVM 服务器已启动并正在运行,并且已针对默认虚拟主机进行了配置。 一旦请求...
8. **版本管理**:在开发环境中,可能需要在不同PHP版本间切换,这时可以使用多版本管理工具,如PHP-FPM或Docker容器,来方便地在不同PHP版本间进行切换。 9. **测试与调试**:完成安装后,需通过编写简单的PHP脚本...
预建PHP Docker Boilerplate映像 该Dockerfile用于以下方面的预构建映像: 支持的发行版: Ubuntu 12.04-PHP 5.3,LTS(精确) Ubuntu 14.04-PHP 5.5,LTS(可信赖) Ubuntu 15.04-PHP 5.6(生动) Ubuntu ...
- **Java**:虽然WordPress主要基于PHP开发,但Java可以在构建与WordPress集成的应用或插件时发挥作用,特别是在需要高性能和企业级功能时。 - **PHP**:WordPress的核心是用PHP编写的,这使得开发者能够轻松地修改...
将您的构建用户添加到Docker组(管理Docker所需): usermod -aG docker 并重新登录 启动Docker守护程序 systemctl enable docker systemctl start docker 构建主机上的端口80应该是空闲的(停止nginx / httpd或...
在构建高效的Web服务环境中,PHP和Nginx的组合是一个常用的选择,因其性能优秀、配置灵活而备受开发者青睐。本文将深入探讨如何更快捷、更方便地进行PHP与Nginx环境的定制化,以便更好地满足开发和部署需求。 首先...
LAMP(Linux、Apache、MySQL、PHP)是Web开发领域常用的一种开源软件组合,用于构建高效、稳定的Web服务器环境。这个“兄弟连LAMP环境源码包”显然是一个包含了搭建LAMP环境所需部分源码的集合,不过值得注意的是,...
在IT行业中,PHP是一种广泛应用的服务器端脚本语言,尤其在Web开发领域有着广泛的使用。...在实际操作中,还可以通过编写脚本或利用自动化工具(如Ansible、Docker等)进一步简化和标准化这个流程。