docker搭建LNMP環(huán)境(php-fpm)

18年剛出來實習的時候就搭建過lnmp開發(fā)環(huán)境,教程為docker 搭建LAMP開發(fā)環(huán)境,拉的是一個集成的lnmp環(huán)境,今天使用mysql、nginx、php的鏡像來搭建多個容器的php-fpm環(huán)境。

準備

  • 安裝docker
    無腦教程可參考docker安裝
  • 安裝docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version
  • 鏡像
    拉取鏡像前,咱們設置一下docker加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://5a88fb64.m.daocloud.io

這里使用到的php是7.1版本的,后續(xù)在更新一個最新版本的7.3的docker-compose.yml吧。然后mysql用的還是5.7的,剛開始使用了mysql8的,相比于5.7,它的性能高很多,但也會有比較多的坑要過,這里先用5.7簡單點吧。

docker pull nginx
docker pull php:7.1-fpm
docker pull mysql:5.7

執(zhí)行

  • 寫docker-compose.yml文件
    你可以理解為一個命令腳本文件,這些文件就一鍵創(chuàng)建docker容器,并設置好各個參數(shù)、端口、地址映射、執(zhí)行l(wèi)inxu命令。你可以參考這個教程學習一下docker-compose常用的使用,就像markdown一樣就那幾個常用的命令。
  • 配置說明:
    nginx配置說明:1、項目目錄和nginx配置映射出來;2、配置端口和網(wǎng)絡配置
    mysql配置說明:1、mysql數(shù)據(jù)data映射出來;2、配置端口和網(wǎng)絡配置;3、配置
    mysql帳號密碼
    php-fpm配置說明:1、使用了dockerfile來構(gòu)建一個鏡像并啟動一個容器使用;2、配置端口和網(wǎng)絡配置;3、安裝需要用到的php擴展到鏡像中
  • docker-compose.yml文件
    在docker-compose.yml目錄下執(zhí)行
  docker-compose up -d
version: "3"
services:
  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./code:/code  #創(chuàng)建項目根目錄,根據(jù)自己的情況來定
      - ./nginx/conf.d:/etc/nginx/conf.d  #可以把ngixn配置映射出來,便于修改
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/logs:/var/log/nginx
    network_mode: "host"
  mysql:
    image: mysql:latest
    container_name: mysql
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
      - ./mysql/data:/var/lib/mysql:rw #創(chuàng)建 /data/myql 目錄
      - ./mysql/logs:/var/lib/mysql-logs:rw  # /logs/mysql 目錄
    ports:
      - "3306:3306"
    environment:
      MYSQL_USER: root  
      MYSQL_PASSWORD: 123456 
      MYSQL_ROOT_PASSWORD: 123456
    network_mode: "host"
  php:
    build: ./
    container_name: fpm7.1
    ports:
      - "9000:9000"
    working_dir: /code
    volumes:
      - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
      - ./code:/code
      - ./php/php.ini:/usr/local/etc/php/php.ini
    network_mode: "host"
  • php鏡像的Dockerfile文件
FROM php:7.1-fpm
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libpq-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 mbstring pdo pdo_mysql pdo_pgsql zip
CMD ["php-fpm"]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 【一葉落-求索】 靜夜寞, 依書桌。 子規(guī)斷續(xù)半零落。 昔年板凳寒, 今茲孤燈作。 孤燈作, 白發(fā)還求學。
    明白的石頭閱讀 208評論 0 0
  • 今天你走進麗江紅太陽廣場,使我想起沒幾天看過的一遍紀實文章。 文章主要記載的是32年前的一個年輕人。他愛好...
    朱火火閱讀 455評論 1 10
  • 在商業(yè)世界中,交易雙方掌握著并不對稱的信息,為了獲得最大的個體利益,或者最大的整體利益,我們常常必須通過“談判”,...
    洋_蔥頭閱讀 730評論 0 0
  • 不想讓爸媽出錢去旅游,寒假一放假就在超市做暑假工,湊錢準備出國玩玩。 每天會遇到很多的人,有些甚至都沒有抬頭看過,...
    此為惡犬閱讀 160評論 0 0
  • 2019年5月16日享譽全球的最著名現(xiàn)代主義建筑師貝聿銘先生逝世,享年102歲,投身建筑事業(yè)70多年來,優(yōu)秀的作品...
    free森閱讀 582評論 0 0

友情鏈接更多精彩內(nèi)容