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
87a28456
Commit
87a28456
authored
Aug 28, 2020
by
Li Mi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测试针对PHP的多阶段构建
parent
7fc8308e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
73 additions
and
65 deletions
+73
-65
php-fpm/Dockerfile.php.73
php-fpm/Dockerfile.php.73
+35
-33
php-fpm/Dockerfile.php.74
php-fpm/Dockerfile.php.74
+38
-32
No files found.
php-fpm/Dockerfile.php.73
View file @
87a28456
...
@@ -5,10 +5,9 @@ ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/mas
...
@@ -5,10 +5,9 @@ ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/mas
# 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=builder /usr/local/lib/php/extensions /usr/local/lib/php/extensions
COPY --from=builder /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 @
87a28456
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=builder /usr/local/lib/php/extensions /usr/local/lib/php/extensions
COPY --from=builder /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