Docker 自定义Dev环境并部署php

docker其实比之前想象的要简单,下载你想要的服务镜像,用 docker run 生成一个容器,当你基础环境都ok的时候,docker commit 命令保存你新的自定义镜像,我需要的是centos中集成的lnmp,要求php >= 7.2,并开启以下扩展。

extension = yaf.so
extension = swoole.so
extension = mongodb.so
extension = redis.so
extension = trie_filter.so
extension = apcu.so
extension = xdiff.so

1.lnmp官网稳定版1.7

wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp

2.docker commit :从容器创建一个新的镜像。

docker commit -a "stark" -m "stark_lnmp" a404c6c174a2  ChangPei_lnmp2.0(新镜像名):(Tag)cp2.0

安装扩展

PHP官网找到相应的扩展 https://www.php.net/

1.安装yaf

wget https://pecl.php.net/get/yaf-3.2.5.tgz //下载
 tar -xzvf yaf-3.2.5.tgz // 解压
 phpize
 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install
 extension=yaf.so

2.安装swoole

git clone https://github.com/swoole/swoole-src.git
cd swoole-src
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
extension=swoole.so

3.安装 MongoDB

wget https://pecl.php.net/get/mongodb-1.8.1.tgz
tar -xzvf mongodb-1.8.1.tgz
phpize //使用phpize解压   /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install
extension=mongodb.so

4.安装apcu

wget http://pecl.php.net/get/apcu-5.1.17.tgz
 tar zxvf apcu-5.1.17.tgz
 cd apcu-5.1.17
 phpize
 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install

5.安装redis

https://www.jb51.net/article/224449.htm

搭建成功后,执行docker ,命令如下,用phpinfo()来查看下配置

docker run -it -d -p 8086:80 -v /Users/stark/cp/gzcp:/home/wwwroot/default/ 6ded827cca6d /bin/bash

启动后也发现了新的问题:

1.当docker运行起来时,怎么访问其他docker实例中的redis,怎么访问外部的docker机器?

2.当docker启动时,是不是因为端口占用而导致别的redis无法启动?

[root@2fefb27a68de /]# /etc/init.d/redis status
Redis server is running.
[root@2fefb27a68de /]# ps aux |grep redis
root       637  0.0  0.0   9180  1056 pts/0    S+   09:17   0:00 grep --color=auto redis

3.第三个就是静态页面的路径不正确,不知道yaf里是怎么搞的,这个问题先放放

到此这篇关于Docker 自定义Dev环境(部署PHP)的文章就介绍到这了,更多相关Docker 自定义Dev环境内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker 安装 PHP并与Nginx的部署实例讲解

    安装 PHP 镜像 查找 Docker Hub 上的 php 镜像: 此外,我们还可以用 docker search php 命令来查看可用版本: 这里我们拉取官方的镜像,标签为7.3.24-fpm-stretch docker pull php:7.3.24-fpm-stretch 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为7.3.24-fpm-stretch的镜像. Nginx + PHP 部署 Nginx 部署可以查看本人博客中:Docker 安装

  • 使用docker+devpi搭建本地pypi源的方法

    前一段时间开发需要经常使用 pip 下载,虽然把 pip 源改成了国内源,但我对速度还是不满意,更为重要的是集成 测试环境是离线的,要在集成测试环境开发显然需要搭建自己的本地 pip 源.在使用 devpi 之前我曾使用过 pip2pi,但有个 bug 导致离线环境下的 tox 命令总是失败,所以最后采用 devpi 搭建 pip 源.这里使用 docker 部署,方便又快速,如果不小心弄崩了也只需要重新运行 docker 容器就好了.如果你的环境没有安装 docker 可以自行搜素安装方法,比

  • Docker 自定义Dev环境并部署php

    docker其实比之前想象的要简单,下载你想要的服务镜像,用 docker run 生成一个容器,当你基础环境都ok的时候,docker commit 命令保存你新的自定义镜像,我需要的是centos中集成的lnmp,要求php >= 7.2,并开启以下扩展. extension = yaf.so extension = swoole.so extension = mongodb.so extension = redis.so extension = trie_filter.so extensi

  • 使用docker在linux环境中部署springboot包的教程

    因为springboot是内嵌了tomcat服务器的,所以打成jar包后,是可以直接运行的. 首先我们看一下,在windows环境下的打包部署 1. 进行install打包 2. 检查,在target目录中是否存在了项目jar包 3.如果已经存在了项目jar包,就可以直接运行了(前面说了,springboot包是可以直接运行的) 4.在dos命令框中使用java -jar指令 java -jar springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar 启动

  • 使用docker构建golang线上部署环境的步骤详解

    Docker用于开发 Docker不仅用于部署,它还可以用于开发. 1.为什么要在开发中使用Docker 主要有以下几个原因. 1)一致的开发环境 使用Docker,可以保证整个研发团队使用一致的开发环境. 2)开发环境与最终的生产环境保持一致 这减少了部署出错的可能性. 3)简化了编译和构建的复杂性 对于一些动辄数小时的编译和构建工作,可以用Docker来简化. 4)在开发时只需Docker 无需在自己的开发主机上搭建各种编程语言环境. 5)可以使用同一编程语言的多个版本 可以使用同一编程语言

  • 三分钟完成 ubuntu16.04初始化,Java,maven,docker环境的部署问题

    Fast-Linux 项目地址:https://gitee.com/uitc/Fast-Linux 介绍 Linux初始化和一些常用环境的搭建是一个虽简单但费时的工作,尤其是你的Linux由于某种不可控的因素宕机了,这意味着你又要从头开始部署一遍环境,有些令人抓狂,因此我有了搭建这个Linux初始化脚本库的想法,不管小白还是大佬,只需一键运行,然后喝杯咖啡,环境便可搭建成功,岂不美滋滋? 由于个人能力有限,只能总结我碰到的环境脚本(我是Java开发,不熟悉python,c/c++等) 由于lin

  • Docker安装LNMP环境的详细过程(可部署TP项目)

    目录 Docker安装LNMP环境 1.安装Docker 2. 安装nginx 3. 安装PHP 4. 查看nginx运行路径 5. 创建并运行php容器 6. 进入php容器,创建index2.php测试文件 7. 获取到phpfpm 这个容器的ip 8.配置nginx 以便支持php文件访问 9. 拉取Mysql镜像 10. 服务器文件放入容器中 Docker安装LNMP环境 1.安装Docker yum install docker # 启动并加入开机启动 sudo systemctl s

  • Rancher+Docker+SpringBoot实现微服务部署、扩容、环境监控

    目录 前言 一.前置需求 1.linux虚拟机或系统 2.创建好docker环境 3.写一个简单的微服务并创建为docker镜像 二.安装Rancher 1.拉取rancher镜像 2.启动rancher容器 3.访问rancher 三.配置rancher 1.把语言改为中文 2.创建rancher环境 3.添加一个主机 4.为主机添加应用 5.为应用添加服务 四.扩容 五.状态监控 1.查看 cpu.内存.网络.存储 状态 2.查看日志 六.访问控制 七.补充 前言 Rancher 是一套容器

  • docker 搭建lnmp环境的方法步骤

    创建项目目录 mkdir php 创建如下项目结构 sites 目录放置项目文件 services 目录放置服务相关配置 script 放置自定义脚本 ├── Readme.md ├── docker-compose.yml ├── script ├── services │ ├── mariadb │ │ └── Dockerfile │ ├── nginx │ │ ├── Dockerfile │ │ ├── conf.d │ │ │ └── default.conf │ │ └── ngi

  • spring boot项目生成docker镜像并完成容器部署的方法步骤

    一.问题产生    把spring boot项目生成的jar打成docker镜像并生成docker容器完成部署是比较简单方便的部署方式,而且部署过程很少会出错. 二.部署步骤 1.利用maven或者gradle完成打包工作,打成jar包的形式. 2.在项目中的任意位置创建Dockerfile文件,本人的文件如下: FROM java:8 VOLUME /tmp ADD front-1.0-SNAPSHOT.jar front.jar RUN bash -c 'touch /front.jar'

  • Docker容器上用DockerFile部署多个tomcat服务的步骤

    1. [admin@JD ~]$ cd opt #进入根目录下的opt 里 2. [admin@JD opt]$ mkdir web #创建Web 文件夹 3. [admin@JD web]$ cd web/ #进入web文件夹 4. [admin@JD web]$ touch Dockerfile #创建一个Dockerfile文件夹 名字不能错必须是这个名字否者检测不到 5. 利用三方工具将 tomcat 和 jdk的 上传到Web文件夹 6. [admin@JD web]$ vim Doc

  • docker的pdflatex环境配置的方法步骤

    技术背景 Latex在文档撰写方面是不可或缺的工具,尤其是在写文章方面,是必须要用到的文字排版工具.但是latex的环境部署并不是一个特别人性化的操作,尤其是在各种不同的平台上操作是完全不一样的,还经常容易报错.我们可以一个一个的去解决报错问题,但是这需要耗费极大的精力和时间,所以很多人选择了直接在overleaf进行latex的创作.但其实overleaf也有它的缺点,比如免费版本的带宽和速度都比较受限,尤其是在国内的网络,访问速度可谓是"一绝".因此这里我们介绍一个更加人性化的方案

随机推荐