国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

詳解使用 Docker 構(gòu)建 LNMP 環(huán)境

2019-11-02 16:04:36
字體:
供稿:網(wǎng)友

配置簡單的 LNMP 環(huán)境

這里使用 docker-compose 的方式,配置內(nèi)容如下:

docker-compose.ymlversion: "2"services:  # Nginx 1.11.10: https://hub.docker.com/_/nginx/ web:  image: nginx:1.11.10  ports:   # 將主機的 8080 端口映射到容器的 80 端口   - 8080:80  depends_on:   - php  # 同 php 一起共享 ./apps 目錄  volumes_from:   - php  # 創(chuàng)建一個數(shù)據(jù)卷,由 ./images/nginx/config => /etc/nginx/conf.d  volumes:   - ./images/nginx/config:/etc/nginx/conf.d:ro # PHP 7.1-fpm: https://hub.docker.com/_/php/ php:  image: php:7.1-fpm  volumes:    - ./apps:/mnt/apps # MySQL 5.7: https://hub.docker.com/_/mysql/ database:   image: mysql:5.7  # 配置一些環(huán)境變量,具體的環(huán)境變量細(xì)節(jié)可以訪問上面的網(wǎng)址查看  environment:   MYSQL_ROOT_PASSWORD: "root"   MYSQL_USER: "dailybird"   MYSQL_PASSWORD: "dailybirdo"  volumes:   - ./database:/var/lib/mysql

default.conf

docker-compose.yml 中,已將 Nginx 的配置目錄 /etc/nginx/conf.d 映射到 ./images/nginx/config 目錄中。根據(jù) Nginx 的配置,處于該目錄下所有 .conf 文件都會作為配置文件,因而我們可以新建一個 default.conf 進(jìn)行配置。

server{  listen     80;  server_name localhost;  root     /mnt/apps;  index     index.php index.html index.htm;  location / {    index    index.php index.html;    try_files   $uri $uri/ /index.php?$query_string;  }  location ~ /.php$ {    # 這里使用 php 作為內(nèi)部域名連接 php 容器    fastcgi_pass   php:9000;    fastcgi_index   index.php;    fastcgi_param   script_FILENAME $document_root$fastcgi_script_name;    include     fastcgi_params;  }}

創(chuàng)建容器

docker-compose.yml 所在目錄下,執(zhí)行以下指令,創(chuàng)建支撐 LNMP 服務(wù)的容器組:

docker-compose up -d

這之后,Docker 會創(chuàng)建一個 bridge 類型的網(wǎng)絡(luò)并將這三個容器接入網(wǎng)絡(luò)內(nèi)。

此外,由于 docker-compose.yml 中的數(shù)據(jù)卷配置,在當(dāng)前目錄下,還會創(chuàng)建 database 目錄用于映射數(shù)據(jù)庫文件目錄;創(chuàng)建 apps 目錄用于存放 web 應(yīng)用;創(chuàng)建 images/nginx/config 目錄映射 Nginx 配置文件目錄。

測試

docker-compose.yml 中,我們進(jìn)行了 8080 => 80 的端口映射;此外,在 default.conf 中,Nginx 的請求被指向了容器的 /mnt/apps 目錄,而該目錄與主機的 ./apps 目錄形成了映射,因而我們可以通過 localhost:8080 訪問到 Nginx 容器的服務(wù)。當(dāng)然,還要注意主機端口的占用情況,必要時可以在 docker-compose.yml 中將 8080 端口改為其他。

此時,我們只需要在 ./apps 目錄下創(chuàng)建一個簡單的 PHP 文件,如 test.php,然后便可以通過 localhost:8080/test.php 訪問了。

向 PHP 鏡像中添加擴展

如果需要向 PHP 中添加擴展,則需要借助 Dockerfile,并按照官方鏡像給出的方法,安裝相應(yīng)的擴展,詳情可見Docker - PHP7.1-fpm。如下,可在 PHP 鏡像中添加 gd pdo_mysql zip opcache 擴展。

# Dockerfile 文件FROM php:7.1-fpmMAINTAINER dailybird <dailybird@mail.com>RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev /  && rm -rf /var/lib/apt/lists/* /  && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr /  && docker-php-ext-install gd pdo_mysql zip opcache
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 湖口县| 安乡县| 巴南区| 左云县| 屏东县| 勐海县| 桃江县| 通许县| 晋江市| 牟定县| 廊坊市| 安宁市| 津南区| 西宁市| 山东省| 博客| 涿鹿县| 任丘市| 泸州市| 武乡县| 红桥区| 太仓市| 馆陶县| 迁西县| 江永县| 明光市| 台湾省| 大冶市| 云林县| 从江县| 景德镇市| 永仁县| 密山市| 闽侯县| 会同县| 鄂伦春自治旗| 洛川县| 阿拉善右旗| 积石山| 无锡市| 芦山县|