婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > docker完整配置nginx+php+mysql的方法步驟

docker完整配置nginx+php+mysql的方法步驟

熱門標簽:物超所值的400電話申請 信陽銷售外呼系統招商 營銷電銷機器人招商 如何在各種地圖標注自己的地址 申請400電話號碼多少錢 百應電銷機器人靠譜嗎 遼寧電銷平臺外呼系統軟件 菏澤crm外呼系統價格 coreldraw地圖標注

首先了解一個方法:

使用docker exec進入Docker容器

docker在1.3.X版本之后還提供了一個新的命令exec用于進入容器,這種方式相對更簡單一些,下面我們來看一下該命令的使用:

sudo docker exec --help  

接下來我們使用該命令進入一個已經在運行的容器

$ sudo docker ps 
$ sudo docker exec -it 775c7c9ee1e1 /bin/bash

一. 配置nginx

查找Docker Hub 上的 nginx 鏡像

runoob@runoob:~/nginx$ docker search nginx
NAME           DESCRIPTION                   STARS   OFFICIAL  AUTOMATED
nginx           Official build of Nginx.            3260   [OK]    
jwilder/nginx-proxy    Automated Nginx reverse proxy for docker c...  674         [OK]
richarvey/nginx-php-fpm  Container running Nginx + PHP-FPM capable ...  207         [OK]
million12/nginx-php    Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS...  67          [OK]
maxexcloo/nginx-php    Docker framework container with Nginx and ...  57          [OK]
webdevops/php-nginx    Nginx with PHP-FPM               39          [OK]
h3nrik/nginx-ldap     NGINX web server with LDAP/AD, SSL and pro...  27          [OK]
bitnami/nginx       Bitnami nginx Docker Image           19          [OK]
maxexcloo/nginx      Docker framework container with Nginx inst...  7          [OK]
...

這里我們拉取官方的鏡像

runoob@runoob:~/nginx$ docker pull nginx

等待下載完成后,我們就可以在本地鏡像列表里查到 REPOSITORY 為 nginx 的鏡像。

runoob@runoob:~/nginx$ docker images nginx
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
nginx        latest       555bbd91e13c    3 days ago     182.8 MB

創建并運行容器:

docker run --name mynginx -p 80:80 -v /var/www:/var/www -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d -d nginx

注意:

-v 添加文件映射關系,這樣在宿主機上更改的文件可以直接映射到容器中。這里的目錄根據自己實際情況進行映射。

創建并運行容器后,docker內的nginx即啟動成功,無需進入docker內部再次啟動nginx, 否則會提示80等端口被占用,因為nginx已經啟動。

這時候便可以訪問nginx配置的域名驗證了。

我這里映射的conf.d主要包含nginx的配置文件,php的配置信息為:

# php
server {
  charset utf-8;
  client_max_body_size 128M;

  listen 80; ## listen for ipv4
  #listen [::]:80 default_server ipv6only=on; ## listen for ipv6

  server_name www.baidu.com;
  root    /var/www;
  index    index.php;

  location / {
    #-e表示只要filename存在,則為真
    if (!-e $request_filename){
      rewrite ^(.*)$ /index.php?s=$1 last;
      break;
    }
    # Redirect everything that isn't a real file to index.php
    try_files $uri $uri/ /index.php$is_args$args;
  }

  # uncomment to avoid processing of calls to non-existing static files by Yii
  #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
  #  try_files $uri =404;
  #}
  #error_page 404 /404.html;

  # deny accessing php files for the /assets directory
  location ~ ^/assets/.*\.php$ {
    deny all;
  }

  location ~ \.php$ {
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass 172.17.0.3:9000;
    #fastcgi_pass unix:/var/run/php5-fpm.sock;
    try_files $uri =404;
  }

  location ~* /\. {
    deny all;
  }
}

注意最后面的fastcgi_pass的ip地址,在php配置常見問題有詳細介紹。

二. php配置

查找Docker Hub上的php鏡像

runoob@runoob:~/php-fpm$ docker search php
NAME           DESCRIPTION                   STARS   OFFICIAL  AUTOMATED
php            While designed for web development, the PH...  1232   [OK]    
richarvey/nginx-php-fpm  Container running Nginx + PHP-FPM capable ...  207         [OK]
phpmyadmin/phpmyadmin   A web interface for MySQL and MariaDB.     123         [OK]
eboraas/apache-php    PHP5 on Apache (with SSL support), built o...  69          [OK]
php-zendserver      Zend Server - the integrated PHP applicati...  69    [OK]    
million12/nginx-php    Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS...  67          [OK]
webdevops/php-nginx    Nginx with PHP-FPM               39          [OK]
webdevops/php-apache   Apache with PHP-FPM (based on webdevops/php)  14          [OK]
phpunit/phpunit      PHPUnit is a programmer-oriented testing f...  14          [OK]
tetraweb/php       PHP 5.3, 5.4, 5.5, 5.6, 7.0 for CI and run...  12          [OK]
webdevops/php       PHP (FPM and CLI) service container       10          [OK]
...

這里我們拉取官方的鏡像,標簽為5.6-fpm

runoob@runoob:~/php-fpm$ docker pull php:5.6-fpm

等待下載完成后,我們就可以在本地鏡像列表里查到REPOSITORY為php,標簽為5.6-fpm的鏡像。

runoob@runoob:~/php-fpm$ docker images
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
php         5.6-fpm       025041cd3aa5    6 days ago     456.3 MB

創建并運行php容器:

docker run -p 9000:9000 --name phpfpm -v /var/www:/var/www -d php:5.6-fpm

注意這里一定要創建文件映射,或者php容器內有對應的php代碼。上一步nginx的文件映射,在這里是找不到的。所以如果沒有文件映射,127.0.0.1:9000 在此容器內就找不到文件 。

常見問題:

啟動php容器后,如果訪問nginx為:502 Bad Gateway

嘗試以下方法:

查看php鏡像的ip地址

docker inspect --format='{{.NetworkSettings.IPAddress}}' phpfpm

如:192.168.4.202

那么修改nginx的conf配置文件,使fastcgi_pass的值為 192.168.4.202:9000

vim /docker/nginx/conf.d/default.conf

fastcgi_pass 192.168.4.202:9000;

重啟nginx容器后,就可以正常訪問。

三. mysql配置

查找Docker Hub上的mysql鏡像

runoob@runoob:/mysql$ docker search mysql
NAME           DESCRIPTION                   STARS   OFFICIAL  AUTOMATED
mysql          MySQL is a widely used, open-source relati...  2529   [OK]    
mysql/mysql-server    Optimized MySQL Server Docker images. Crea...  161         [OK]
centurylink/mysql    Image containing mysql. Optimized to be li...  45          [OK]
sameersbn/mysql                             36          [OK]
google/mysql       MySQL server for Google Compute Engine     16          [OK]
appcontainers/mysql   Centos/Debian Based Customizable MySQL Con...  8          [OK]
marvambass/mysql     MySQL Server based on Ubuntu 14.04       6          [OK]
drupaldocker/mysql    MySQL for Drupal                2          [OK]
azukiapp/mysql      Docker image to run MySQL by Azuki - http:...  2          [OK]
...

這里我們拉取官方的鏡像,標簽為5.6

runoob@runoob:~/mysql$ docker pull mysql:5.6

等待下載完成后,我們就可以在本地鏡像列表里查到REPOSITORY為mysql,標簽為5.6的鏡像。

runoob@runoob:~/mysql$ docker images |grep mysql
mysql        5.6         2c0964ec182a    3 weeks ago     329 MB

創建并運行MySQL容器:

docker run -p 3306:3306 --name mysql -v /usr/local/mysql:/etc/mysql/sqlinit -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

這里的文件映射主要目的是把宿主機的sql數據庫數據文件映射到docker mysql容器,方便導入,注意這里mysql容器的目錄不能是已有的目錄,否則會覆蓋。

注意:

這里創建容易已經有了my.cnf,無需自己添加。

拓展

使用外部工具navicat連接docker 內mysql

mysql的host 填寫docker內的IP,獲取方式為:

docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql

填寫ssh連接信息:

即可連接成功!

注意:

docker的容器啟動順序問題會導致容器的IP地址不一致,如果在連接數據庫和fastcgi處有用到容器的IP,要注意容器的啟動順序。

重啟容器:docker restart 容器名/容器ID

關閉容器:docker stop xxx

開啟容器:docker start xxx

查看正在運行的容器:docker ps

查看所有容器(包括未運行的容器): docker ps -a

創建并運行容器: docker run

---------------------------------------

常見報錯:

1.  thinkphp報錯 Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'

缺少pdo_mysql擴展,鏈接數據庫失敗

找到php.ini,docker中在/usr/local/etc/php中,復制一份php.ini,增加 extension=pdo_mysql.so ,重啟phpfpm。

如果還不行,訪問phpinfo頁面,查看是否有pdo_mysql

如果沒有,說名擴展不存在,需要編譯。

編譯方法如下:

可以通過兩種方式實現

方式一(未驗證):

pecl pdo_msql

方式二(已驗證可行):

到docker的php容器中,在php文件夾下:

docker-php-ext-install pdo pdo_mysql

如果報 /usr/local/bin/docker-php-ext-enable: cannot create /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini: Directory nonexistent

解決方案:

直接在/usr/local/etc/php目錄下面新建 conf.d目錄和對應的docker-php-ext-pdo_msql.ini文件

其中docker-php-ext-pdo_msql.ini的內容為:

extension=pdo_mysql.so

2. thinkphp 報錯 _STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/4e64ea6a2012f26b832b14cbc2152b28.php

是因為服務器緩存文件夾的操作權限不夠,即Runtime沒有權限,把緩存文件全部刪除,再給Runtime777權限就行了

sudo chmod 777 Runtime 或者直接對代碼庫最外層設置777權限

3. thinkphp驗證碼圖片顯示不出來

缺少gd擴展,安裝:

docker-php-ext-install pdo pdo_mysql

可能以下報錯:

If configure fails try --with-webp-dir=<DIR>
If configure fails try --with-jpeg-dir=<DIR>
configure: error: png.h not found.

安裝:

apt-get install libpng-dev libjpeg-dev

再次執行:

// 增加freetype配置
docker-php-ext-configure gd --enable-gd-native-ttf --with-freetype-dir=/usr/include/freetype2 --with-png-dir=/usr/include --with-jpeg-dir=/usr/include

// 安裝
docker-php-ext-install gd

php.ini增加php_gd2.so

phpinfo中顯示gd庫

注意如果phpinfo的gd庫中沒有freetype的支持,驗證碼依然顯示不出來, 會報錯:

Call to undefined function Think\imagettftext()

如果gd庫中沒有freeType,則按照以下步驟進行:

docker-php-ext-configure gd --enable-gd-native-ttf --with-freetype-dir=/usr/include/freetype2 --with-png-dir=/usr/include

重新編譯:
docker-php-ext-install gd

如果報錯:

configure: error: freetype-config not found.

運行: apt- get -y install libfreetype6-dev ,然后再繼續運行上面的命令。 

gd庫中有了freetype,則驗證碼顯示正常了:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:江門 內江 廈門 玉樹 泰安 湖北 瀘州 江西

巨人網絡通訊聲明:本文標題《docker完整配置nginx+php+mysql的方法步驟》,本文關鍵詞  docker,完整,配置,nginx+php+mysql,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《docker完整配置nginx+php+mysql的方法步驟》相關的同類信息!
  • 本頁收集關于docker完整配置nginx+php+mysql的方法步驟的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产美女精品在线| 国产精品欧美久久久久一区二区| 99视频在线观看一区三区| 欧美日韩精品一区二区在线播放| 6080国产精品一区二区| 首页综合国产亚洲丝袜| 五月综合激情婷婷六月色窝| 日韩国产高清影视| 国产伦理精品不卡| 色综合天天综合给合国产| 欧美一区日韩一区| 国产精品理论片在线观看| 日韩成人免费看| 色综合色综合色综合色综合色综合| 欧美久久久久久久久| 欧美国产日韩精品免费观看| 亚洲不卡一区二区三区| 成人avav影音| 日韩精品中文字幕在线一区| 亚洲天堂2014| 国产激情视频一区二区在线观看| 国产亚洲福利社区一区| 久久久99久久精品欧美| 中文字幕一区免费在线观看| 欧美国产日韩一二三区| 国产suv精品一区二区883| 91美女精品福利| 精品国产制服丝袜高跟| 亚洲欧美激情在线| 国产精品中文欧美| 欧美日韩日日骚| 国产精品成人一区二区艾草| 久草在线在线精品观看| 欧美吻胸吃奶大尺度电影| 国产亚洲欧美在线| 麻豆成人91精品二区三区| 欧日韩精品视频| 亚洲伦在线观看| 99精品欧美一区二区蜜桃免费| 久久综合国产精品| 亚洲国产精品精华液网站| 国产精品情趣视频| 成人av网在线| 成人激情午夜影院| 国精产品一区一区三区mba桃花| 欧美亚洲自拍偷拍| 国产精品网站在线播放| 国产自产视频一区二区三区| 欧美一级搡bbbb搡bbbb| 日韩国产欧美三级| 欧美军同video69gay| 午夜影院在线观看欧美| 欧美在线视频日韩| 亚洲综合激情网| 色999日韩国产欧美一区二区| 亚洲色图一区二区| 91国产丝袜在线播放| 一卡二卡三卡日韩欧美| 欧美探花视频资源| 日本视频免费一区| 欧美tickling挠脚心丨vk| 欧美主播一区二区三区美女| 欧美激情一区二区三区蜜桃视频| 精品一区二区免费在线观看| 人禽交欧美网站| 日韩一区二区三区在线视频| 日av在线不卡| 精品国产伦一区二区三区免费 | 久久精品视频免费| 国产呦精品一区二区三区网站| 久久综合av免费| 成人小视频免费观看| 国产精品蜜臀在线观看| 99久久久精品免费观看国产蜜| 亚洲免费在线看| 正在播放一区二区| 国产乱人伦偷精品视频免下载| 国产精品进线69影院| 欧美日韩一级视频| 欧美四级电影网| 91久久免费观看| 国产成人亚洲综合色影视| 99久久国产免费看| 日韩亚洲欧美成人一区| 国产经典欧美精品| 亚洲日本欧美天堂| 欧美在线视频日韩| 精品综合免费视频观看| 国产精品第四页| 91精品在线一区二区| 国产乱码精品一区二区三区av | 亚洲视频一区二区在线观看| 91国在线观看| 国产一区视频在线看| 一区二区不卡在线播放| 久久久久久久久久久99999| 在线观看日韩国产| 国产成人av电影免费在线观看| 亚洲成人av福利| 欧美一区二区三区在| 不卡的电影网站| 在线播放亚洲一区| 国产一区二区三区在线观看免费 | 91精品免费在线观看| 成人午夜视频在线| 日本中文字幕不卡| 最近日韩中文字幕| 精品精品欲导航| 欧美天堂一区二区三区| 波多野结衣中文字幕一区二区三区| 免费成人在线视频观看| 一区二区三区成人| 国产精品免费丝袜| 精品国产乱码久久久久久牛牛 | 亚洲国产色一区| 国产一区二区免费视频| 国产三级一区二区| 亚洲欧美欧美一区二区三区| 亚洲午夜激情网站| 亚洲三级久久久| 久久久不卡网国产精品一区| 911精品产国品一二三产区| 91香蕉视频mp4| 大桥未久av一区二区三区中文| 免费av成人在线| 亚洲图片有声小说| 一区二区三区四区乱视频| 国产精品免费av| 国产女人18毛片水真多成人如厕 | 天天色天天操综合| 亚洲一区二区精品3399| 亚洲精品国产成人久久av盗摄| 国产精品免费aⅴ片在线观看| 亚洲成av人片| 久久精品欧美日韩精品| 性久久久久久久久| 欧美性猛交xxxx乱大交退制版| 国产精品久久福利| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美一区二区三区影视| 91免费版在线看| 91久久精品午夜一区二区| 91在线观看下载| 91尤物视频在线观看| 99re在线视频这里只有精品| 成人av在线电影| 色综合中文综合网| 国产精品久久久久久福利一牛影视| 欧美区视频在线观看| 91免费版pro下载短视频| 亚洲综合在线观看视频| 一区二区三区中文在线观看| 一区二区三区国产| 午夜欧美视频在线观看| 日韩电影在线一区| 国产麻豆精品95视频| 国产suv精品一区二区6| 99久久精品国产一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 5858s免费视频成人| 久久亚洲综合色一区二区三区| 欧美国产精品久久| 樱桃视频在线观看一区| 青椒成人免费视频| 成人免费毛片片v| 在线观看日韩国产| 日韩精品一区二区在线| 日本一区二区动态图| 一区二区高清视频在线观看| 日韩电影在线看| 成人激情开心网| 欧美日韩大陆一区二区| 国产日韩高清在线| 一区二区三区国产豹纹内裤在线| 捆绑调教一区二区三区| 99国产精品视频免费观看| 51精品国自产在线| **网站欧美大片在线观看| 蜜臀国产一区二区三区在线播放 | 国产精品视频你懂的| 亚洲一区电影777| 精品一区二区三区日韩| 91香蕉国产在线观看软件| 欧美变态tickling挠脚心| 亚洲男女一区二区三区| 国内一区二区在线| 欧美手机在线视频| 国产精品热久久久久夜色精品三区| 亚洲成人动漫在线免费观看| 久久国产乱子精品免费女| 欧美日韩激情在线| 中文字幕一区免费在线观看| 91精品免费观看| 亚洲人成网站色在线观看| 久久99国产乱子伦精品免费| 欧美写真视频网站| 中文字幕一区二区三中文字幕| 精品系列免费在线观看| 欧美乱妇一区二区三区不卡视频| 亚洲同性同志一二三专区|