国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 辉县市| 米泉市| 永胜县| 明溪县| 邛崃市| 温州市| 汤原县| 阜平县| 元谋县| 山东省| 梧州市| 嘉义市| 永嘉县| 化德县| 集贤县| 班玛县| 澄江县| 西充县| 西平县| 云和县| 澄城县| 新安县| 忻州市| 米林县| 黄陵县| 洛浦县| 武川县| 施秉县| 富裕县| 翼城县| 新绛县| 呼玛县| 米泉市| 鹤山市| 民县| 司法| 兖州市| 河曲县| 阿合奇县| 时尚| 哈密市|