Docker 自定义Dev环境并部署php

 更新时间:2022年01月28日 15:06:41   作者:stark张宇  
这篇文章主要介绍了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环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Docker实现MySQL主从复制的详细教程

    基于Docker实现MySQL主从复制的详细教程

    这篇博客整理了如何在Docker环境下配置MySQL主从复制,通过创建和命名两个MySQL容器,设置独立IP,并详细说明了在宿主机上持久化数据、开启root远程访问及添加复制用户的过程,需要的朋友可以参考下
    2024-10-10
  • 开源框架 Matrix-Dendrite 搭建聊天服务器的详细过程

    开源框架 Matrix-Dendrite 搭建聊天服务器的详细过程

    Matrix 是一个开源、可交互、去中心化的实时通信服务框架。使用 Matrix 可以搭建安全的通信服务器,配合支持 Matrix 的客户端可以实现个人、团队间的实时聊天交互,对Matrix Dendrite搭建聊天服务器的过程感兴趣的朋友一起看看吧
    2022-03-03
  • 防火墙控制Docker端口开放与关闭

    防火墙控制Docker端口开放与关闭

    本文主要介绍了防火墙控制Docker端口开放与关闭,通过实例演示了如何配置防火墙规则来实现对Docker端口的控制,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • docker中搭建overlay 网络实验环境

    docker中搭建overlay 网络实验环境

    这篇文章主要介绍了docker中搭建overlay 网络实验环境的相关资料,需要的朋友可以参考下
    2017-08-08
  • IDEA直接打包Docker镜像的实现

    IDEA直接打包Docker镜像的实现

    Docker提供了多种方法来打包镜像,本文主要介绍了IDEA直接打包Docker镜像的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 详解Docker之Compose服务编排

    详解Docker之Compose服务编排

    Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景。兴趣的小伙伴们可以参考一下
    2018-07-07
  • dockerfile-maven-plugin使用指南小结

    dockerfile-maven-plugin使用指南小结

    最近在将应用部署到容器平台,需要在打包时生成docker镜像,在网上首先搜到了docker-maven-plugin这个插件,本文就来介绍了dockerfile-maven-plugin使用小结,感兴趣的可以了解一下
    2021-09-09
  • Docker如何解决tomcat容器启动成功,无法访问的问题

    Docker如何解决tomcat容器启动成功,无法访问的问题

    这篇文章主要介绍了Docker如何解决tomcat容器启动成功,无法访问的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 详解docker compose 用法

    详解docker compose 用法

    这篇文章主要介绍了docker compose 用法,本文通过实例代码演示给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Docker搭建私有镜像仓库的方法

    Docker搭建私有镜像仓库的方法

    这篇文章主要介绍了Docker搭建私有镜像仓库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论