微信云托管有 thinkPHP模板部署,php7.4.26,dockerfile怎么寫(xiě)?主要是加密文件,下面是模板的dockerfile:
FROM alpine:3.13
# 容器默認(rèn)時(shí)區(qū)為UTC,如需使用上海時(shí)間請(qǐng)啟用以下時(shí)區(qū)設(shè)置命令
# RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
# 使用 HTTPS 協(xié)議訪問(wèn)容器云調(diào)用證書(shū)安裝
RUN apk add ca-certificates
# 安裝依賴包,如需其他依賴包,請(qǐng)到alpine依賴包管理(https://pkgs.alpinelinux.org/packages?name=php8*imagick*&branch=v3.13)查找。
# 選用國(guó)內(nèi)鏡像源以提高下載速度
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \
&& apk add --update --no-cache \
php7 \
php7-json \
php7-ctype \
php7-exif \
php7-pdo \
php7-pdo_mysql \
php7-fpm \
php7-curl \
nginx \
&& rm -f /var/cache/apk/*
# 設(shè)定工作目錄
WORKDIR /app
# 將當(dāng)前目錄下所有文件拷貝到/app (.dockerignore中文件除外)
COPY . /app
# 替換nginx、fpm、php配置
RUN cp /app/conf/nginx.conf /etc/nginx/conf.d/default.conf \
&& cp /app/conf/fpm.conf /etc/php7/php-fpm.d/www.conf \
&& cp /app/conf/php.ini /etc/php7/php.ini \
&& mkdir -p /run/nginx \
&& chmod -R 777 /app/runtime \
&& mv /usr/sbin/php-fpm7 /usr/sbin/php-fpm
# 暴露端口
# 此處端口必須與「服務(wù)設(shè)置」-「流水線」以及「手動(dòng)上傳代碼包」部署時(shí)填寫(xiě)的端口一致,否則會(huì)部署失敗。
EXPOSE 80
# 執(zhí)行啟動(dòng)命令.
# 寫(xiě)多行獨(dú)立的CMD命令是錯(cuò)誤寫(xiě)法!只有最后一行CMD命令會(huì)被執(zhí)行,之前的都會(huì)被忽略,導(dǎo)致業(yè)務(wù)報(bào)錯(cuò)。
# 請(qǐng)參考[Docker官方文檔之CMD命令](https://docs.docker.com/engine/reference/builder/#cmd)
CMD ["sh", "run.sh"]