摘要:第二種通過數據卷掛載到容器如沒有能力或者不知道配置文件各項參數,請盡可能少的加載自己的配置文件。注意目錄對應數據庫連接時請使用配置項中的名稱,,請安裝到本地配置文件含目錄結構請自行創建配置配置下載安裝做如下配置配置測試
Dockerfile 創建
FROM php:fpm-alpine MAINTAINER amor # 更新源 # ENV PHPREDIS_VERSION="3.1.4" # ENV PHPMECCACHED_VERSION="2.2.0" # ENV PHPXDEBUG_VERSION="2.5.5" # php 核心庫 # docker-php 支持的擴展 # bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp gd gettext gmp hash iconv imap interbase intl json ldap mbstring mcrypt mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline recode reflection session shmop simplexml snmp soap sockets spl standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g" /etc/apk/repositories && apk update && apk add --update --no-cache freetype-dev libjpeg-turbo-dev libmcrypt-dev libpng-dev postgresql-dev curl-dev # memcached # libmemcached-dev # zlib-dev && docker-php-ext-install -j"$(getconf _NPROCESSORS_ONLN)" iconv mcrypt mysqli pdo pdo_mysql pdo_pgsql curl zip && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install -j"$(getconf _NPROCESSORS_ONLN)" gd && echo "pdo_mysql.default_socket=/run/mysqld/mysqld.sock" >> /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini # && pecl install redis-"$PHPREDIS_VERSION" # && pecl install xdebug-"$PHPXDEBUG_VERSION" # && docker-php-ext-enable redis xdebug # && pecl install memcached-"$PHPMECCACHED_VERSION" # && docker-php-ext-enable memcached # 復制php.ini文件到php容器配置目錄 COPY ./conf/php-fpm/php.ini /usr/local/etc/php/ CMD ["php-fpm"]
注意事項:php.ini 建議做到版本對應
docker-compose.yml 創建php-fpm: build: . expose: - "9000" volumes: - /data/nutcloud/ubuntu/website/:/var/www/html/ links: - mysql:mysql - redis:redis mysql: image: mysql:latest ports: - "3306:3306" volumes: # sql鏡像數據目錄 - ./mysql/:/var/lib/mysql/:rw environment: MYSQL_DATABASE: test MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root redis: image: redis:alpine ports: - "6379:6379" nginx: image: nginx:alpine ports: - "80:80" - "443:443" volumes: - /data/nutcloud/ubuntu/website/:/var/www/html/ - ./conf/nginx/conf.d:/etc/nginx/conf.d/:ro - ./log/nginx/:/var/log/nginx/:rw links: - php-fpm:fpm
注意事項:
代碼掛載有兩種方式:
第一種:在Dockerfile中直接將本地代碼COPY到容器中,但是不方便調試,適合部署時使用。
第二種:通過數據卷掛載到容器
如沒有能力或者不知道配置文件各項參數,請盡可能少的加載自己的配置文件。
注意目錄對應
數據庫連接時請使用links配置項中的mysql名稱
composer,bower,git請安裝到本地
nginx配置文件(含pathinfo)server { listen 80; server_name website.fastadminamor.com; #charset koi8-r; access_log /var/log/nginx/website.access.log main; error_log /var/log/nginx/website.error.log; location / { root /var/www/html/fastadmin/public; index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s=$1 last; break; } } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ .php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ .php$ { root /var/www/html/fastadmin/public; fastcgi_pass fpm:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; } #location ~ ^.+.php { # fastcgi_pass fpm:9000; # fastcgi_index index.php; # include fastcgi_params; # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #} # deny access to .htaccess files, if Apache"s document root # concurs with nginx"s one # #location ~ /.ht { # deny all; #} }目錄結構(請自行創建)
. ├── conf │?? ├── nginx │?? │?? ├── conf.d │?? │?? │?? └── website.fastadmin.com.conf │?? └── php-fpm │?? └── php.ini ├── docker-compose.yml ├── Dockerfile ├── log │?? ├── nginx │?? │?? ├── access.log │?? │?? ├── error.log │?? │?? ├── website.access.log │?? │?? └── website.error.log ├── mysqlphpstorm配置Docker 配置docker
下載安裝docker做如下配置
測試:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27115.html
摘要:干貨篇之安裝安裝下載地址點擊安裝選擇自定義,后選擇安裝路徑,不過最好安裝在根目錄下盤,然后點解這里我安裝的路徑是創建文件夾在下創建一個文件夾然后在文件夾下創建兩個子文件夾在文件下創建一個文檔,總得來說創建了在文件夾下運行進入命令,執行以下命 MongoDB干貨篇之安裝 安裝 下載地址 點擊安裝,選擇自定義,后選擇安裝路徑,不過最好安裝在根目錄下(C盤),然后點解next,這里我安裝...
摘要:由于之前安裝的是的版本,需要卸載了,安裝最新的版本。清除緩存,確保卸載干凈具體參考安裝最新版本安裝成功后提示意思是版的需要版本最低,我之前的是的版本。先安裝,去下載安裝。在命令行輸入檢查是否安裝成功。 最近聽了大漠老師分享的angular6的講解(附個鏈接大漠老師課程:http://www.ngfans.net/topic/2...),像是沙漠中發現了綠洲一樣,決定好好學習一番,于是準...
摘要:工具虛擬環境原因常常會有庫破壞向后兼容性為每個不同項目提供一份安裝。 1.工具 centOS7 Pycharm 2.virtualenv(虛擬環境) 原因:常常會有庫破壞向后兼容性virtualenv 為每個不同項目提供一份 Python 安裝。它并沒有真正安裝多個 Python 副本,但是它確實提供了一種巧妙的方式來讓各項目環境保持獨立①在系統中安裝 virtualenv在 Mac ...
閱讀 2121·2023-04-26 02:19
閱讀 1914·2021-11-19 09:40
閱讀 1704·2021-09-29 09:35
閱讀 3575·2021-09-29 09:34
閱讀 4297·2021-09-07 10:16
閱讀 5530·2021-08-11 11:14
閱讀 3578·2019-08-30 15:54
閱讀 1629·2019-08-30 15:53