Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
G
Gzz Images
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
Gzz Images
Commits
c0105f9e
Commit
c0105f9e
authored
Aug 28, 2020
by
Li Mi
Committed by
GitHub
Aug 28, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1 from gzzchh/multi-stage-php
Multi stage php 好,很有精神
parents
1886a8cb
357141c2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
78 additions
and
69 deletions
+78
-69
.github/workflows/php-fpm.yml
.github/workflows/php-fpm.yml
+4
-3
php-fpm/Dockerfile.php.73
php-fpm/Dockerfile.php.73
+36
-34
php-fpm/Dockerfile.php.74
php-fpm/Dockerfile.php.74
+38
-32
No files found.
.github/workflows/
build
.yml
→
.github/workflows/
php-fpm
.yml
View file @
c0105f9e
...
@@ -3,8 +3,8 @@ name: 构建 PHP-FPM 镜像
...
@@ -3,8 +3,8 @@ name: 构建 PHP-FPM 镜像
# 触发条件:在 push 到 master 分支后
# 触发条件:在 push 到 master 分支后
on
:
on
:
push
:
push
:
paths
:
#
paths:
-
"
php-fpm/**"
#
- "php-fpm/**"
# 任务
# 任务
jobs
:
jobs
:
...
@@ -23,6 +23,7 @@ jobs:
...
@@ -23,6 +23,7 @@ jobs:
registry
:
ccr.ccs.tencentyun.com
registry
:
ccr.ccs.tencentyun.com
repository
:
gzzchh/stacks
repository
:
gzzchh/stacks
tags
:
php-fpm-73
tags
:
php-fpm-73
build-php-fpm-74
:
build-php-fpm-74
:
runs-on
:
ubuntu-latest
runs-on
:
ubuntu-latest
steps
:
steps
:
...
@@ -34,7 +35,7 @@ jobs:
...
@@ -34,7 +35,7 @@ jobs:
username
:
${{ secrets.TKE_USERNAME }}
username
:
${{ secrets.TKE_USERNAME }}
password
:
${{ secrets.TKE_PASSWORD }}
password
:
${{ secrets.TKE_PASSWORD }}
path
:
./php-fpm
path
:
./php-fpm
dockerfile
:
./php-fpm/Dockerfile.php.7
3
dockerfile
:
./php-fpm/Dockerfile.php.7
4
registry
:
ccr.ccs.tencentyun.com
registry
:
ccr.ccs.tencentyun.com
repository
:
gzzchh/stacks
repository
:
gzzchh/stacks
tags
:
php-fpm-74
tags
:
php-fpm-74
php-fpm/Dockerfile.php.73
View file @
c0105f9e
FROM php:7.3-fpm
FROM php:7.3-fpm
AS builder
# COPY pip.conf /root/.pip/pip.conf
# COPY pip.conf /root/.pip/pip.conf
ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/
ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/
# RUN sed -i 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list && \
# RUN sed -i 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list && \
# sed -i 's/security.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list && \
# sed -i 's/security.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list && \
RUN cat /etc/apt/sources.list && \
RUN cat /etc/apt/sources.list && \
# 系统更新
DEBIAN_FRONTEND=noninteractive && \
DEBIAN_FRONTEND=noninteractive && \
apt update && apt upgrade -y &&\
# 安装组件
# 安装组件
apt update && \
apt install -y --no-install-recommends \
apt install -y --no-install-recommends \
bash \
bash \
unzip \
unzip \
...
@@ -52,38 +51,41 @@ RUN cat /etc/apt/sources.list && \
...
@@ -52,38 +51,41 @@ RUN cat /etc/apt/sources.list && \
# Imagick
# Imagick
chmod uga+x /usr/local/bin/install-php-extensions && sync && \
chmod uga+x /usr/local/bin/install-php-extensions && sync && \
install-php-extensions imagick && \
install-php-extensions imagick && \
docker-php-source delete && \
docker-php-source delete
# Composer相关部分
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
# 只安装需要的东西
FROM php:7.4-fpm AS run
# RUN sed -i 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list && \
# sed -i 's/security.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list
RUN cat /etc/apt/sources.list && \
DEBIAN_FRONTEND=noninteractive && \
# 安装组件
apt update && \
apt install -y --no-install-recommends \
bash \
unzip \
openssh-client \
wget \
curl \
libcurl4 \
openssl \
git \
ca-certificates \
libzip4 \
libxslt1.1 \
libpq5 \
libmagickwand-6.q16-6 \
libmagickwand-6.q16hdri-6 \
libpng16-16
# 拷贝编译好的扩展
COPY --from=0 /usr/local/lib/php/extensions /usr/local/lib/php/extensions
COPY --from=0 /usr/local/etc/php/conf.d /usr/local/etc/php/conf.d
# 安装 Composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php composer-setup.php --quiet --install-dir=/usr/bin --filename=composer && \
php composer-setup.php --quiet --install-dir=/usr/bin --filename=composer && \
rm composer-setup.php && \
rm composer-setup.php
# composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/ && \
# 处理用户的部分
# composer global require hirak/prestissimo && \
RUN addgroup --gid 1000 www && \
# composer global require slince/composer-registry-manager ^2.0 && \
# composer repo:use tencent && \
# composer clearcache && \
# Python设定
# update-alternatives --install /usr/bin/python python /usr/bin/python3 1 && \
# update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 && \
# pip3 install -U pip && \
# 清理
apt remove gcc augeas-lenses python3-dev make autoconf -y && apt autoremove -y && \
apt remove -y \
libzip-dev \
libbz2-dev \
libcurl4-openssl-dev \
libmcrypt-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libicu-dev \
libxslt-dev \
libffi-dev \
libsqlite3-dev \
libpq-dev && \
rm -rf /var/lib/apt/lists/* && \
# 处理用户的部分
addgroup --gid 1000 www && \
adduser --disabled-password --gecos "" --uid 1000 --gid 1000 www
adduser --disabled-password --gecos "" --uid 1000 --gid 1000 www
COPY entrypoint.sh /entrypoint.sh
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]
ENTRYPOINT [ "/entrypoint.sh" ]
php-fpm/Dockerfile.php.74
View file @
c0105f9e
FROM php:7.4-fpm
FROM php:7.4-fpm
AS builder
# COPY pip.conf /root/.pip/pip.conf
# COPY pip.conf /root/.pip/pip.conf
ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/
ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/
# RUN sed -i 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list && \
# RUN sed -i 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list && \
# sed -i 's/security.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list
&& \
# sed -i 's/security.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list
RUN cat /etc/apt/sources.list && \
RUN cat /etc/apt/sources.list && \
# 系统更新
DEBIAN_FRONTEND=noninteractive && \
DEBIAN_FRONTEND=noninteractive && \
apt update &&
apt upgrade -y &&
\
apt update && \
# 安装组件
# 安装组件
apt install -y --no-install-recommends \
apt install -y --no-install-recommends \
bash \
bash \
...
@@ -57,34 +56,41 @@ RUN cat /etc/apt/sources.list && \
...
@@ -57,34 +56,41 @@ RUN cat /etc/apt/sources.list && \
# Composer相关部分
# Composer相关部分
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php composer-setup.php --quiet --install-dir=/usr/bin --filename=composer && \
php composer-setup.php --quiet --install-dir=/usr/bin --filename=composer && \
rm composer-setup.php && \
rm composer-setup.php
# composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/ && \
# composer global require hirak/prestissimo && \
# 只安装需要的东西
# composer global require slince/composer-registry-manager ^2.0 && \
FROM php:7.4-fpm AS run
# composer repo:use tencent && \
# RUN sed -i 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list && \
# composer clearcache && \
# sed -i 's/security.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list
# Python设定
RUN cat /etc/apt/sources.list && \
# update-alternatives --install /usr/bin/python python /usr/bin/python3 1 && \
DEBIAN_FRONTEND=noninteractive && \
# update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 && \
# 安装组件
# pip3 install -U pip && \
apt update && \
# 清理
apt install -y --no-install-recommends \
apt remove gcc augeas-lenses python3-dev make autoconf -y && apt autoremove -y && \
bash \
apt remove -y \
unzip \
libzip-dev \
openssh-client \
libbz2-dev \
wget \
libcurl4-openssl-dev \
curl \
libmcrypt-dev \
libcurl4 \
libfreetype6-dev \
openssl \
libjpeg62-turbo-dev \
git \
libpng-dev \
ca-certificates \
libicu-dev \
libzip4 \
libxslt-dev \
libxslt1.1 \
libffi-dev \
libpq5 \
libsqlite3-dev \
libmagickwand-6.q16-6 \
libpq-dev && \
libmagickwand-6.q16hdri-6 \
rm -rf /var/lib/apt/lists/* && \
libpng16-16
# 处理用户的部分
# 拷贝编译好的扩展
addgroup --gid 1000 www && \
COPY --from=0 /usr/local/lib/php/extensions /usr/local/lib/php/extensions
COPY --from=0 /usr/local/etc/php/conf.d /usr/local/etc/php/conf.d
# 安装 Composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php composer-setup.php --quiet --install-dir=/usr/bin --filename=composer && \
rm composer-setup.php
# 处理用户的部分
RUN addgroup --gid 1000 www && \
adduser --disabled-password --gecos "" --uid 1000 --gid 1000 www
adduser --disabled-password --gecos "" --uid 1000 --gid 1000 www
COPY entrypoint.sh /entrypoint.sh
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]
ENTRYPOINT [ "/entrypoint.sh" ]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment