国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Dockerfile構建PHP開發鏡像:Alpine+Nginx+PHP7+Supervisor+C

張率功 / 3106人閱讀

摘要:一配置目錄結構一般在生產環境都是負載均衡,定時任務是多帶帶在一個容器執行,故此是注釋掉的,需要多帶帶在定時任務容器中打開即可。與配置文件由于配置文件是監聽的默認情況下監聽端口。使用套接字,這避免了的開銷。地址鏡像地址續搭建應用部署

一、配置目錄結構

1.1 crontabs
# do daily/weekly/monthly maintenance
# min   hour    day     month   weekday command
# *         *         *         *         *         /usr/bin/php /usr/share/nginx/html/artisan schedule:run >> /dev/null 2>&1

Tips:一般在生產環境都是負載均衡,定時任務是多帶帶在一個容器執行,故此是注釋掉的,需要多帶帶在定時任務容器中打開即可。

2.1 nginx與php配置文件

Tips:由于php配置文件是監聽的sock,默認情況下監聽端口 9000。PHP-FPM使用Unix套接字,這避免了TCP的開銷。

3.1 php

二、Dockerfile詳解
#1.Base Image
FROM alpine

# ensure www-data user exists
#RUN set -x 
#    && addgroup -g 82  -S www-data 
#    && adduser -u 82 -D -S -G www-data www-data

# Environments
ENV TIMEZONE            Asia/Shanghai
ENV PHP_MEMORY_LIMIT    512M
ENV MAX_UPLOAD          50M
ENV PHP_MAX_FILE_UPLOAD 200
ENV PHP_MAX_POST        100M
ENV COMPOSER_ALLOW_SUPERUSER 1

#2.ADD-PHP-FPM

# Mirror mirror switch to Alpine Linux - http://dl-4.alpinelinux.org/alpine/
RUN apk update 
    && apk upgrade 
    && apk add 
        curl 
        tzdata 
        php7-fpm
        php7 
        php7-dev 
        php7-apcu 
        php7-bcmath 
        php7-xmlwriter 
        php7-ctype 
        php7-curl 
        php7-exif 
        php7-iconv 
        php7-intl 
        php7-json 
        php7-mbstring
        php7-opcache 
        php7-openssl 
        php7-pcntl 
        php7-pdo 
        php7-mysqlnd 
        php7-mysqli 
        php7-pdo_mysql 
        php7-pdo_pgsql 
        php7-phar 
        php7-posix 
        php7-session 
        php7-xml 
        php7-simplexml 
        php7-mcrypt 
        php7-xsl 
        php7-zip 
        php7-zlib 
        php7-dom 
        php7-redis
        php7-tokenizer 
        php7-gd 
        php7-mongodb
        php7-fileinfo 
        php7-zmq 
        php7-memcached 
        php7-xmlreader 
     && cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime 
    && echo "${TIMEZONE}" > /etc/timezone 
    && apk del tzdata 
     && rm -rf /var/cache/apk/*

# https://github.com/docker-library/php/issues/240
# https://gist.github.com/guillemcanal/be3db96d3caa315b4e2b8259cab7d07e
# https://forum.alpinelinux.org/forum/installation/php-iconv-issue

RUN mkdir -p /usr/local/var/log/php7/
RUN mkdir -p /usr/local/var/run/
COPY ./php/php-fpm.conf /etc/php7/
COPY ./php/www.conf /etc/php7/php-fpm.d/

RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing gnu-libiconv
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
RUN rm -rf /var/cache/apk/*


# Set environments
RUN sed -i "s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i" /etc/php7/php.ini && 
    sed -i "s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i" /etc/php7/php.ini && 
    sed -i "s|;*upload_max_filesize =.*|upload_max_filesize = ${MAX_UPLOAD}|i" /etc/php7/php.ini && 
    sed -i "s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i" /etc/php7/php.ini && 
    sed -i "s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i" /etc/php7/php.ini && 
    sed -i "s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= 0|i" /etc/php7/php.ini

#3.Install-Composer
RUN curl -sS https://getcomposer.org/installer | 
    php -- --install-dir=/usr/bin/ --filename=composer



#4.ADD-NGINX
RUN apk add nginx
COPY ./nginx/conf.d/default.conf /etc/nginx/conf.d/
COPY ./nginx/nginx.conf /etc/nginx/
COPY ./nginx/cert/ /etc/nginx/cert/

RUN mkdir -p /usr/share/nginx/html/public/
COPY ./php/index.php /usr/share/nginx/html/public/
#RUN mkdir -p /run/nginx
#RUN touch /run/nginx/nginx.pid
# Expose volumes

VOLUME ["/usr/share/nginx/html", "/usr/local/var/log/php7", "/var/run/"]
WORKDIR /usr/share/nginx/html


#5.ADD-SUPERVISOR
RUN apk add supervisor 
 && rm -rf /var/cache/apk/*

# Define mountable directories.
VOLUME ["/etc/supervisor/conf.d", "/var/log/supervisor/"]
COPY ./supervisor/conf.d/ /etc/supervisor/conf.d/

#6.ADD-CRONTABS
COPY ./crontabs/default /var/spool/cron/crontabs/
RUN cat /var/spool/cron/crontabs/default >> /var/spool/cron/crontabs/root
RUN mkdir -p /var/log/cron 
 && touch /var/log/cron/cron.log

VOLUME /var/log/cron

#8.添加啟動腳本
# Define working directory.
WORKDIR /usr/share/nginx/html
COPY ./entrypoint.sh /usr/share/nginx/html/
RUN chmod +x /usr/share/nginx/html/entrypoint.sh
#CMD ["supervisord", "--nodaemon", "--configuration", "/etc/supervisor/conf.d/supervisord.conf"]
ENTRYPOINT ["./entrypoint.sh"]

傳送門:Dockerfile、Docker-Compose基本命令與介紹

三、鏡像制作與啟動 3.1 根據Dockerfile制作鏡像

3.2 查看制作的鏡像

3.3 啟動鏡像

3.4 瀏覽器查看是否成功

四、鏡像發布 4.1 鏡像發布

一定要登錄

4.2 自動構建

當關聯的github代碼發生改變是,自動觸發構建。

GitHub地址:https://github.com/tcyfree/anpsc
Docker Hub鏡像地址:https://cloud.docker.com/repo...

續:Rancher搭建、web應用部署

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27722.html

相關文章

  • 如何構建一個php7-alpine的docker鏡像

    摘要:我花了大概一周的時間進行了各種踩坑及實驗,最終得出了一份可以使用的及內含如下支持可選,如應用,及的配置會有所變化分為兩部分,一部分為服務,一部分為下可選先貼代碼吧版本,如需安裝則取消注釋基礎依賴 我花了大概一周的時間進行了各種踩坑及實驗,最終得出了一份可以使用的dockerfile及compose 內含如下支持 php7 mysql_pdo postgre_pdo phpredis ...

    anonymoussf 評論0 收藏0
  • 【Docker實戰之入門】Dockerfile詳細分析:構建docker鏡像(2)中間件鏡像

    摘要:構建鏡像時,首先要有一個基礎鏡像,然后有中間件鏡像,最后生成一個應用鏡像。現在作為基礎鏡像,下面來構建兩個中間件鏡像鏡像具有和能力的鏡像。同時,用文件覆蓋默認的配置文件。構建鏡像查看鏡像以上鏡像已經做好了。 以上已經構建好了一個基礎的docker鏡像centos7。 構建docker鏡像時,首先 要有一個基礎鏡像,然后有中間件鏡像,最后生成一個應用鏡像。 現在centos7作為基礎鏡...

    neuSnail 評論0 收藏0
  • 【Docker實戰之入門】Dockerfile詳細分析:構建docker鏡像(2)中間件鏡像

    摘要:構建鏡像時,首先要有一個基礎鏡像,然后有中間件鏡像,最后生成一個應用鏡像。現在作為基礎鏡像,下面來構建兩個中間件鏡像鏡像具有和能力的鏡像。同時,用文件覆蓋默認的配置文件。構建鏡像查看鏡像以上鏡像已經做好了。 以上已經構建好了一個基礎的docker鏡像centos7。 構建docker鏡像時,首先 要有一個基礎鏡像,然后有中間件鏡像,最后生成一個應用鏡像。 現在centos7作為基礎鏡...

    susheng 評論0 收藏0
  • LNMP Docker 配置(持續更新 2017-11-21)

    摘要:原文鏈接目標一條命令建立環境,。這里只簡單列舉單容器運行方式,實際請使用。修訂說明官方建議不再使用,而是使用容器網絡來連接容器服務,也即容器互通。構建鏡像運行容器測試訪問看到頁面。訪問測試擴展。請訪問查看。 原文鏈接:https://www.khs1994.com/docke... 目標:一條命令建立 LNMP 環境(MySQL、Redis、PHP-fpm、Nginx,etc)。這里只...

    phpmatt 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<