微信云托管有 thinkPHP模板部署,php7.4.26,dockerfile怎么寫?主要是加密文件,下面是模板的dockerfile:
FROM alpine:3.13
# 容器默認時區為UTC,如需使用上海時間請啟用以下時區設置命令
# RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
# 使用 HTTPS 協議訪問容器云調用證書安裝
RUN apk add ca-certificates
# 安裝依賴包,如需其他依賴包,請到alpine依賴包管理(https://pkgs.alpinelinux.org/packages?name=php8*imagick*&branch=v3.13)查找。
# 選用國內鏡像源以提高下載速度
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/*
# 設定工作目錄
WORKDIR /app
# 將當前目錄下所有文件拷貝到/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
# 暴露端口
# 此處端口必須與「服務設置」-「流水線」以及「手動上傳代碼包」部署時填寫的端口一致,否則會部署失敗。
EXPOSE 80
# 執行啟動命令.
# 寫多行獨立的CMD命令是錯誤寫法!只有最后一行CMD命令會被執行,之前的都會被忽略,導致業務報錯。
# 請參考[Docker官方文檔之CMD命令](https://docs.docker.com/engine/reference/builder/#cmd)
CMD ["sh", "run.sh"]