Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

docker 打包顺序有些问题 #38

Open
mredencom opened this issue Oct 31, 2020 · 2 comments
Open

docker 打包顺序有些问题 #38

mredencom opened this issue Oct 31, 2020 · 2 comments

Comments

@mredencom
Copy link

应该构建镜像的时候进行composer install, 你这边是先install 然后构建镜像,这样就会有一个问题,一般本地环境是没有swoole扩展的,所以第一步就不会成功

@Littlesqx
Copy link
Owner

有道理,我改一下

@mredencom
Copy link
Author

有道理,我改一下

最好常见的包可以一起打包
`FROM php:7.2

LABEL maintainer="mreden mreden@163.com" version="2.0"

--build-arg timezone=Asia/Shanghai

ARG timezone

app env: prod pre test dev

ARG app_env=test

default use www-data user

ARG work_user=www-data

default APP_ENV = test

ENV APP_ENV=${app_env:-"test"}
TIMEZONE=${timezone:-"Asia/Shanghai"}
PHPREDIS_VERSION=5.1.0
SWOOLE_VERSION=4.4.18
COMPOSER_ALLOW_SUPERUSER=1

Libs -y --no-install-recommends

RUN apt-get update
&& apt-get install -y
curl wget git zip unzip less vim procps lsof tcpdump htop openssl net-tools iputils-ping
libz-dev
libssl-dev
libnghttp2-dev
libpcre3-dev
libjpeg-dev
libpng-dev
libfreetype6-dev
git
ca-certificates
cmake
cron
curl
wget
librabbitmq-dev \

Install PHP extensions

&& docker-php-ext-install \
   bcmath gd pdo_mysql mbstring sockets zip sysvmsg sysvsem sysvshm \

Clean apt cache

&& rm -rf /var/lib/apt/lists/*

Install composer

Run curl -sS https://getcomposer.org/installer | php
&& mv composer.phar /usr/local/bin/composer
&& composer self-update --clean-backups \

Install redis extension

&& wget http://pecl.php.net/get/redis-${PHPREDIS_VERSION}.tgz -O /tmp/redis.tar.tgz \
&& pecl install /tmp/redis.tar.tgz \
&& rm -rf /tmp/redis.tar.tgz \
&& docker-php-ext-enable redis \

Install swoole extension

&& wget https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz -O swoole.tar.gz \
&& mkdir -p swoole \
&& tar -xf swoole.tar.gz -C swoole --strip-components=1 \
&& rm swoole.tar.gz \
&& ( \
    cd swoole \
    && phpize \
    && ./configure --enable-mysqlnd --enable-sockets --enable-openssl --enable-http2 \
    && make -j$(nproc) \
    && make install \
) \
&& rm -r swoole \
&& docker-php-ext-enable swoole \

Clear dev deps

&& apt-get clean \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \

Timezone

&& cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
&& echo "${TIMEZONE}" > /etc/timezone \
&& echo "[Date]\ndate.timezone=${TIMEZONE}" > /usr/local/etc/php/conf.d/timezone.ini

Install composer deps

ADD . /var/www/turing_queue
RUN cd /var/www/turing_queue
&& composer install
&& composer clearcache`

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants