Docker构建自己的PHP-fpm容器镜像

本文介绍如何通过Dockerfile构建一个包含多种常用工具和PHP扩展的自定义PHP5.6-FPM镜像,涵盖软件源更新、工具安装、PHP扩展配置及Laravel框架安装步骤。

0.最新编辑内容请参考:

Dockerfile基于镜像php:7.2-fpm构建自定义php7.2镜像

https://blog.csdn.net/one312/article/details/105026554

1.创建一个Dockerfile 并写入以下内容:

FROM php:5.6-fpm
RUN     apt-get update \
    #cp -r /etc/apt/sources.list /etc/apt/sources.list.bak \
    #修改软件源
    #
    #&& echo "deb http://mirrors.aliyun.com/debian/ wheezy main non-free contrib" > /etc/apt/sources.list \
    #&& echo "deb http://mirrors.aliyun.com/debian/ wheezy-proposed-updates main non-free contrib" >> /etc/apt/sources.list \
    #&& echo "deb-src http://mirrors.aliyun.com/debian/ wheezy main non-free contrib" >> /etc/apt/sources.list \
    #&& echo "deb-src http://mirrors.aliyun.com/debian/ wheezy-proposed-updates main non-free contrib" >> /etc/apt/sources.list \
    #
    #&& apt-get update \
    #切换目录
    && cd /tmp \
    #安装sudo
    && apt-get install sudo -y \
    #安装vim文本编辑器
    && apt-get install vim -y \
    #安装wget下载工具
    && apt-get install wget -y \
    #安装网络管理工具
    && apt-get install net-tools -y \
    #安装ping
    && apt-get install iputils-ping -y \
    #安装telnet
    && apt-get install telnet -y \
    #安装进程管理命令ps, top, vmstat, w, kill, free, slabtop, and skill
    && apt-get install procps -y \
    #安装C/C++编译包,该软件包,编译c/c++所需要的软件包也都会被安装。
    #该包包含gcc,g++,make等`
    && apt-get install build-essential -y \
    #安装zip依赖 zlib
    && apt-get install zlib1g-dev -y \
    #安装zip
    && bash -c "apt-get install unzip -y;" \
    #安装openssh-server  即sshd
    && apt install -y openssh-server -y \
    #给root用户设置初始密码123456
    && echo root:123456 | chpasswd \
    #安装composer命令
    #下载composer.phar
    && php -r "readfile('https://getcomposer.org/installer');" | php \
    #给composer.phar赋可执行权限
    #将composer.phar复制到/bin/目录下并重命名为composer
    && mv composer.phar /bin/composer \
    #查看composer版本
    #composer -v
    #修改composer镜像源地址为国内地址
    && composer config -g repo.packagist composer https://packagist.phpcomposer.com \
    #安装php扩展
    #下载
    && wget http://qinqinxia.com/zip-1.13.5.tgz \
    #解压
    && tar -zvxf zip-1.13.5.tgz \
    #解压后复制到目录/usr/local/src
    && cp -r zip-1.13.5 /usr/local/src \
    #切换目录到/usr/local/src/zip-1.13.5
    && cd /usr/local/src/zip-1.13.5 \
    #安装php扩展php-zip
    #
    && /usr/local/bin/phpize \
    #
    && ./configure --with-php-config=/usr/local/bin/php-config \
    #
    && make && make install
    # 扩展所在目录:
    #Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20131226/
    #配置
    #cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini
    #vim /usr/local/etc/php/php.ini
    #然后添加配置项extension=zip.so即可
    #composer安装laravel
    #composer global require laravel/installer

    ############################################################################

    #其中php的官方下载地址 太慢,所以dockerfile中的用的是我自己的站点地址 :

    #php官网各版本下载地址:https://www.php.net/releases/

    #wget https://www.php.net/distributions/php-5.6.40.tar.bz2 #下载太慢可以用迅雷下载后复制过来

 

2.执行以下命令构建镜像

docker build -t hengda/php5.6-fpm:v1 .

构建成功会有如下提示:

构建期间有红色waring提示 ,是因为RUN后面有注释的原因

以hengda/php5.6-fpm:v1镜像运行一个容器,并命名容器为 hengda-php

docker run -it --name hengda-php hengda/php5.6-fpm:v1 /bin/bash

往php.ini文件中添加php扩展zip.so

extension=zip.so

进入容器之后安装laravel 框架源码

1.进入www目录执行命令

2.在www目录下,创建composer.json文件,并写入如下配置:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*"
    },
    "config": {
        "preferred-install": "dist"
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

3.在www目录执行命令composer install

执行结果:

查看vendor/laravel/目录下的文件:

如果不报错 ,可以安装成功,那么 说明构建的 php镜像 可以使用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

one312

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值