Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >docker运行php网站程序

docker运行php网站程序

作者头像
JadePeng
发布于 2019-01-07 08:12:43
发布于 2019-01-07 08:12:43
5.6K00
代码可运行
举报
运行总次数:0
代码可运行

有一个之前的php网站程序需要迁移到K8S,简单调研了下。

基础镜像

官方提供了诸如php:7.1-apache的基础镜像,但是确认必要的扩展,例如gd,当然官方提供了docker-php-ext-install命令,可以用来安装需要的扩展。但是每次构建都重新安装非常费时,最好的办法是构建一个包含必要扩展的基础镜像。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM php:7.1-apache
ENV PORT 80
EXPOSE 80

RUN buildDeps=" \
        default-libmysqlclient-dev \
        libbz2-dev \
        libsasl2-dev \
    " \
    runtimeDeps=" \
        curl \
        git \
        libfreetype6-dev \
        libicu-dev \
        libjpeg-dev \
        libmcrypt-dev \
        libpng-dev \
        libpq-dev \
        libxml2-dev \
    " \
    sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list  \
    && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y $buildDeps $runtimeDeps \
    && docker-php-ext-install bcmath bz2 calendar iconv intl mbstring mcrypt mysqli opcache pdo_mysql pdo_pgsql pgsql soap zip \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install gd \
    && apt-get purge -y --auto-remove $buildDeps \
    && rm -r /var/lib/apt/lists/* 

ENV PATH=$PATH:/root/composer/vendor/bin COMPOSER_ALLOW_SUPERUSER=1

然后构建基础镜像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build -t common/php:7.1-apache .

PS: 更多的php镜像,查看 https://github.com/chialab/docker-php

使用基础镜像

Dockerfile应用刚构建好的基础镜像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM common/php:7.1-apache
ENV PORT 80
EXPOSE 80
COPY . /var/www/html
RUN usermod -u 1000 www-data; \
    a2enmod rewrite; \
    chown -R www-data:www-data /var/www/html

构建即可:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build -t common/zhifou:v0.0.12 .
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
docker安装php7.2记录
准备通过Dockerfile构建php镜像,在使用docker-php-ext-install安装mcrypt扩展时遇到如下错误:
lestat
2018/09/25
8.8K0
Docker-compose PHP8.0 Redis5.0 Mysql8.0 Nginx 环境脚手架
PHP DockerFile mcrypt扩展费了一些时间,php自己的bug,pecl上写着8.0支持1.0.3版本,可惜。 具体参考 https://bugs.php.net/bug.php?id
躺平程序员老修
2023/09/05
7610
Docker-compose PHP8.0 Redis5.0 Mysql8.0 Nginx 环境脚手架
Docker 中的 PHP 安装扩展插件
为了保证 Docker 镜像尽量小,PHP 的源文件是以压缩包的形式存在镜像中,官方提供了 docker-php-source 快捷脚本,用于对源文件压缩包的解压(extract)及解压后的文件进行删除(delete)的操作。
菲宇
2019/06/11
5.8K1
docker使用笔记VI -- PHP
接下来就可以参考 docker使用笔记IV -- 使用docker的风格分离Nginx PHP Mysql。
老高的技术博客
2022/12/28
3610
docker完整配置nginx+php+mysql
  docker在1.3.X版本之后还提供了一个新的命令exec用于进入容器,这种方式相对更简单一些,下面我们来看一下该命令的使用:
smy
2019/03/06
6.7K0
docker完整配置nginx+php+mysql
docker下搭建MySQL+php-fpm+nginx容器环境
在/home/app/phpfile文件夹下创建 php.ini文件和conf.d文件夹
菲宇
2019/06/11
3.1K0
docker下搭建MySQL+php-fpm+nginx容器环境
基于window10使用docker搭建lnmpr环境
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
OwenZhang
2022/11/08
1.1K0
基于window10使用docker搭建lnmpr环境
docker部署php环境
IT不难
2023/11/17
5790
常见的dockerfile汇总
python FROM python:3.7-alpine WORKDIR /code ENV FLASK_APP=app.py ENV FLASK_RUN_HOST=0.0.0.0 COPY requirements.txt requirements.txt RUN pip install -r requirements.txt EXPOSE 5000 COPY . . CMD ["flask", "run"] php FROM php:7.2.34-fpm-alpine WORKDIR /app ENV
章工运维
2023/05/19
3780
docker搭建php+nginx+swoole+mysql+redis环境
软件:docker-ce version 18.09.3, docker-compose version 1.23.2
猿哥
2019/04/24
2.3K0
docker搭建php+nginx+swoole+mysql+redis环境
避坑!用Docker搞定PHP开发环境搭建
因为最近换电脑的缘故需要重新部署一下本地的开发环境,之前采用的虚拟机方案,占用磁盘空间实在是太大,心疼SSD那么点地方,所以这次采用了Docker的方案来部署。关于这次部署的原则,我的想法是尽量使用官方的镜像来实现,尽量不改动或少改动镜像。因为是本地的开发环境,所以想多尝尝鲜,尽量使用高版本的软件来实现。从结果上来说,希望能给同样有需要搭建环境的同学起到一些帮助,少踩一些坑,如果能按照这篇文章的步骤一次搞定那是最好了。
猿哥
2020/02/26
3.9K0
避坑!用Docker搞定PHP开发环境搭建
Dockerfile构建PHP,Nginx,Composer,lnmp环境
之前在博文中有说过用docker搭建php环境,但那是用官方镜像,然后多个容器关联,开发起来其实很不方便,那么如何使用Dockerfile构建一个PHP环境呢,为方便移植,快速构建PHP环境,今天试着写了个Dockerfile,包含了php、nginx、composer、git基础环境。
子润先生
2021/06/23
1.3K0
docker-compose搭建 Nginx+PHP+MySQL 环境
到 https://code.aliyun.com/ 创建一个项目,如Dockerfile。之后我们把wordpress环境的所有相关Dockerfile及配置文件放置到centosbz目录。
菲宇
2019/06/13
2.1K0
docker-compose搭建 Nginx+PHP+MySQL 环境
为什么需要自定义一个基础镜像?
对于使用php (python)等开发的项目,由于是解释型语言并不需要编译代码这个步骤(go或者java将依赖打包到可执行程序(包)中),但是往往还需要安装一些依赖的库或者第三方模块。
用户1560186
2019/12/04
1.7K0
Docker进阶:Dockerfile以及docker-compose工具
本文作者为olei,转载请注明。
禹都一只猫olei
2018/08/02
1.8K0
Docker进阶:Dockerfile以及docker-compose工具
Dockerfile PHP环境apt包加速及扩展支持(优化)
之前写了一篇用DockerFile构建PHP环境,但是在日常开发中,我们经常使用一些扩展,比如:Redis、MongoDB以及Swoole,那么我们就需要在容器里面进行PHP相关扩展的安装了,后面我对Dockerfile文件进行了优化,预先安装好这几个扩展(不需要的请自行去掉)。
子润先生
2021/06/23
1.6K0
基于docker安装opencart电商独立站
OpenCart 是世界著名的开源电子商务系统,系统开发语言为 PHP。早期由英国人 Daniel Kerr 个人开发,项目托管在 GitHub。OpenCart 总部设在香港,GitHub 项目仍由 Daniel 及其团队领导维护。开发者项目非常活跃,版本更新升级很快。据 Alexa 网站流量统计显示,OpenCart 已成为世界主流的电子商务建站系统。
IT不难
2022/06/12
3K0
基于docker安装opencart电商独立站
后端Laravel项目Docker构建
api和后台部署在同一台服务器上,通过nginx区分,nginx文件在nginx文件夹下
无忧366
2022/02/14
1.6K0
在Daocloud上部署Typecho
大概是几个月前我在 v2ex 上看到了Daocloud的宣传,开始接触到了 Docker 这个神奇的容器引擎和 Daocloud 这个基于 Docker 技术的云平台
zgq354
2019/11/25
1.3K0
在Daocloud上部署Typecho
docker搭建LNMP环境(php-fpm)
18年刚出来实习的时候就搭建过lnmp开发环境,教程为docker 搭建LAMP开发环境,拉的是一个集成的lnmp环境,今天使用mysql、nginx、php的镜像来搭建多个容器的php-fpm环境。
benny
2020/02/25
3K0
相关推荐
docker安装php7.2记录
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验