昨天已经用PostgreSQL做了范例,今天要轮到PHP当主角了,从DockerHub下载下来最原始的PHP只会有最基本的功能,所以如果要用一些特别的function或是套件时会发生不支援的问题,以往的解决方式会是在该环境下直接下指令安装,但这样会因为没有将下载的套件做记录等等原因造成很难复制到下一个环境上,假设一个团队有local、development、release、master等环境,就容易造成环境不统一,程序在development环境下没问题,但到了master线上环境却出了问题。
Docker file就可以彻底解决这个问题,将所有环境套件等文件化,再打包成一个专属於自己的Image,有点像物件导向继承的概念,建立新环境时只要直接Pull下来即可使用,不用再担心哪些套件忘记安装。
先到DockerHub申请一个帐号用来存放自己的Image。
FROM php:7.4.9-fpm
RUN rm -r /var/lib/apt/lists/*
RUN apt-get update -y && apt-get upgrade -y
RUN apt-get install -y --no-install-recommends \
libzip-dev \
libpq5 \
libpq-dev
RUN docker-php-ext-install -j$(nproc) \
zip \
pgsql \
pdo_pgsql
RUN curl -sS https://getcomposer.org/installer | \
php -- --install-dir=/usr/bin/ --filename=composer
docker build -t myphp .
docker images
docker tag myphp kurt6783/iron_man
docker login
docker push kurt6783/iron_man
这样以後在别的环境需要部属时只需要直接pull这个Image就可以使用了是不是很方便呢
docker pull kurt6783/iron_man
今天的介绍到此结束,谢谢观看的各位,请记得按赞分享开启小铃铛,你的支持会让按赞数+1。
<<: [Day10] 学 Reactstrap 就离 React 更近了 ~ Grid 篇‧最终回(应该是?
>>: # Day3 Virtual Memory Layout on RISC-V Linux
强化 导航标记(面包屑):正相关到稍微正相关,全网站都会有的 Schema 强化项目主要是导航标记...
前面把java跟python部分完成後, 接下来要继续写js和html的步骤来完成1分k视觉化。 (...
前言 该系列是为了让看过Vue官方文件或学过Vue但是却不知道怎麽下手去重构现在有的网站而去规画的系...
以下是我至少rack pi 4的崩溃的教训┴┴︵╰(°Д°)╯︵┴┴ 官网和论坛仅供参考(例如: 上...
昨天介绍完SMO并算出a,b,今天就要来算出w和标记在图上, 依照w的公式,我们可以得到下面程序: ...