摘要:一配置目錄結(jié)構(gòu)一般在生產(chǎn)環(huán)境都是負(fù)載均衡,定時(shí)任務(wù)是多帶帶在一個(gè)容器執(zhí)行,故此是注釋掉的,需要多帶帶在定時(shí)任務(wù)容器中打開即可。與配置文件由于配置文件是監(jiān)聽的默認(rèn)情況下監(jiān)聽端口。使用套接字,這避免了的開銷。地址鏡像地址續(xù)搭建應(yīng)用部署
一、配置目錄結(jié)構(gòu) 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:一般在生產(chǎn)環(huán)境都是負(fù)載均衡,定時(shí)任務(wù)是多帶帶在一個(gè)容器執(zhí)行,故此是注釋掉的,需要多帶帶在定時(shí)任務(wù)容器中打開即可。
2.1 nginx與php配置文件Tips:由于php配置文件是監(jiān)聽的sock,默認(rèn)情況下監(jiān)聽端口 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.添加啟動(dòng)腳本 # 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基本命令與介紹
三、鏡像制作與啟動(dòng) 3.1 根據(jù)Dockerfile制作鏡像 3.2 查看制作的鏡像 3.3 啟動(dòng)鏡像 3.4 瀏覽器查看是否成功 四、鏡像發(fā)布 4.1 鏡像發(fā)布一定要登錄
4.2 自動(dòng)構(gòu)建當(dāng)關(guān)聯(lián)的github代碼發(fā)生改變是,自動(dòng)觸發(fā)構(gòu)建。
GitHub地址:https://github.com/tcyfree/anpsc
Docker Hub鏡像地址:https://cloud.docker.com/repo...
續(xù):Rancher搭建、web應(yīng)用部署
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27722.html
摘要:我花了大概一周的時(shí)間進(jìn)行了各種踩坑及實(shí)驗(yàn),最終得出了一份可以使用的及內(nèi)含如下支持可選,如應(yīng)用,及的配置會(huì)有所變化分為兩部分,一部分為服務(wù),一部分為下可選先貼代碼吧版本,如需安裝則取消注釋基礎(chǔ)依賴 我花了大概一周的時(shí)間進(jìn)行了各種踩坑及實(shí)驗(yàn),最終得出了一份可以使用的dockerfile及compose 內(nèi)含如下支持 php7 mysql_pdo postgre_pdo phpredis ...
摘要:構(gòu)建鏡像時(shí),首先要有一個(gè)基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個(gè)應(yīng)用鏡像?,F(xiàn)在作為基礎(chǔ)鏡像,下面來構(gòu)建兩個(gè)中間件鏡像鏡像具有和能力的鏡像。同時(shí),用文件覆蓋默認(rèn)的配置文件。構(gòu)建鏡像查看鏡像以上鏡像已經(jīng)做好了。 以上已經(jīng)構(gòu)建好了一個(gè)基礎(chǔ)的docker鏡像centos7。 構(gòu)建docker鏡像時(shí),首先 要有一個(gè)基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個(gè)應(yīng)用鏡像。 現(xiàn)在centos7作為基礎(chǔ)鏡...
摘要:構(gòu)建鏡像時(shí),首先要有一個(gè)基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個(gè)應(yīng)用鏡像?,F(xiàn)在作為基礎(chǔ)鏡像,下面來構(gòu)建兩個(gè)中間件鏡像鏡像具有和能力的鏡像。同時(shí),用文件覆蓋默認(rèn)的配置文件。構(gòu)建鏡像查看鏡像以上鏡像已經(jīng)做好了。 以上已經(jīng)構(gòu)建好了一個(gè)基礎(chǔ)的docker鏡像centos7。 構(gòu)建docker鏡像時(shí),首先 要有一個(gè)基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個(gè)應(yīng)用鏡像。 現(xiàn)在centos7作為基礎(chǔ)鏡...
摘要:原文鏈接目標(biāo)一條命令建立環(huán)境,。這里只簡單列舉單容器運(yùn)行方式,實(shí)際請使用。修訂說明官方建議不再使用,而是使用容器網(wǎng)絡(luò)來連接容器服務(wù),也即容器互通。構(gòu)建鏡像運(yùn)行容器測試訪問看到頁面。訪問測試擴(kuò)展。請?jiān)L問查看。 原文鏈接:https://www.khs1994.com/docke... 目標(biāo):一條命令建立 LNMP 環(huán)境(MySQL、Redis、PHP-fpm、Nginx,etc)。這里只...
閱讀 2222·2021-11-19 09:40
閱讀 1935·2021-11-08 13:24
閱讀 2471·2021-10-18 13:24
閱讀 2869·2021-10-11 10:57
閱讀 3595·2021-09-22 15:42
閱讀 1130·2019-08-29 17:11
閱讀 2539·2019-08-29 16:11
閱讀 2433·2019-08-29 11:11