Docker 快速構(gòu)建LNMP產(chǎn)品級別環(huán)境

Docker 快速搭建lnmp php環(huán)境

root@~ vi Dockerfile

Dockerfile Content(內(nèi)容-PHP)

FROM centos:latest
MAINTAINER https://blog.51cto.com/andyxu
ENV TIME_ZOME Asia/Shanghai
ARG PV="php-7.2.11"

ADD $PV.tar.gz /tmp
RUN yum -y install gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel bison \
    && mkdir /data \
    && cd /tmp/$PV \
    && ./configure --prefix=/data/php \
        --with-config-file-path=/data/php/etc \
        --with-gd --with-mysqli \
        --with-openssl --with-zlib --with-curl \
        --with-jpeg-dir --with-png-dir --with-iconv \
        --enable-fpm --enable-zip --enable-mbstring \
    && make -j 4 \
    && make install \
    && cp /data/php/etc/php-fpm.conf.default /data/php/etc/php-fpm.conf \
    && cp /data/php/etc/php-fpm.d/www.conf.default /data/php/etc/php-fpm.d/www.conf \
    && sed -i '/;daemonize/a\daemonize = no' /data/php/etc/php-fpm.conf \
    && sed -i 's/127.0.0.1/0.0.0.0/g' /data/php/etc/php-fpm.d/www.conf \
    && echo "${TIME_ZOME}" > /etc/timezone \
    && ln -sf /usr/share/zoneinfo/${TIME_ZOME} /etc/localtime \
    && rm -rf /tmp/php* \
    && yum clean all \
    && yum -y remove gcc gcc-c++ make

WORKDIR /data/php/
EXPOSE 9000
CMD ["sbin/php-fpm","-c","etc/php-fpm.conf"]

構(gòu)建nginx鏡像

Dockerfiler Content (內(nèi)容-NGINX)

FROM centos:latest
MAINTAINER https://blog.51cto.com/andyxu
ENV TIME_ZOME Asia/Shanghai
ARG NV="nginx-1.15.5"

COPY nginx.conf /data/nginx/conf/
ADD $NV.tar.gz /tmp
RUN yum -y install gcc gcc-c++ make openssl-devel pcre-devel \
        && mkdir -p /data \
        && cd /tmp/$NV \
        && ./configure --prefix=/data/nginx \
        && make -j 2 \
        && make install \
        && echo "${TIME_ZOME}" > /etc/timezone \
        && ln -sf /usr/share/zoneinfo/${TIME_ZOME} /etc/localtime \
        && rm -rf /tmp/nginx* \
        && yum clean all \
        && yum -y remove gcc gcc-c++ make

WORKDIR /data/nginx/
EXPOSE 80
CMD ["./sbin/nginx","-g","daemon off;"]

下載mysql鏡像

root@~ docker pull mysql:8.0.12
~  
8.0.12: Pulling from library/mysql
802b00ed6f79: Pull complete 
30f19a05b898: Pull complete 
3e43303be5e9: Pull complete 
94b281824ae2: Pull complete 
51eb397095b1: Pull complete 
54567da6fdf0: Pull complete 
bc57ddb85cce: Pull complete 
d6cd3c7302aa: Pull complete 
d8263dad8dbb: Pull complete 
780f2f86056d: Pull complete 
8e0761cb58cd: Pull complete 
7588cfc269e5: Pull complete 
Digest: sha256:038f5f6ea8c8f63cfce1bce9c057ab3691cad867e18da8ad4ba6c90874d0537a
Status: Downloaded newer image for mysql:8.0.12
查看已經(jīng)構(gòu)建完成的鏡像情況
root@~ docker images

創(chuàng)建并啟動容器

(1)創(chuàng)建自定義網(wǎng)絡(luò)lnmp
root@~  docker network create lnmp
(2)創(chuàng)建生成mysql、php冲杀、nginx容器的腳本

<docker_lnmp.sh腳本內(nèi)容如下>

#!/bin/bash
function mysql()
{
    docker run --name mysql --restart=always --net lnmp -p 3306:3306 \
    -v /data/mysql/data:/var/lib/mysql \
    -v /data/mysql/conf:/etc/mysql/conf.d \
    -v /data/mysql/logs:/logs \
    -e MYSQL_ROOT_PASSWORD=test123456 \
    -d mysql:8.0.12 --character-set-server=utf8
}

function php()
{
    docker run --name php --restart=always --net lnmp \
    -v /data/nginx/html:/data/nginx/html \
    -v /data/php/log:/data/php/var/log \
    -d php:7.2.11
}

function nginx()
{
    docker run --name nginx --restart=always --net lnmp -p 80:80 \
    -v /data/nginx/html:/data/nginx/html \
    -v /data/nginx/logs:/data/nginx/logs \
    -d nginx:1.15.5
}
(3)啟動mysql乔夯、php羹膳、nginx容器
[root@~]# sh docker_lnmp.sh mysql
[root@~]# sh docker_lnmp.sh php
[root@~]# sh docker_lnmp.sh nginx
(4)查看容器是否都成
docker images
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贤斜,隨后出現(xiàn)的幾起案子渣淳,更是在濱河造成了極大的恐慌,老刑警劉巖缕棵,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡挥吵,警方通過查閱死者的電腦和手機重父,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門花椭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忽匈,“玉大人,你說我怎么就攤上這事矿辽〉ぴ剩” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵袋倔,是天一觀的道長雕蔽。 經(jīng)常有香客問我,道長宾娜,這世上最難降的妖魔是什么批狐? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮前塔,結(jié)果婚禮上嚣艇,老公的妹妹穿的比我還像新娘。我一直安慰自己华弓,他們只是感情好食零,可當(dāng)我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著寂屏,像睡著了一般贰谣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迁霎,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天吱抚,我揣著相機與錄音,去河邊找鬼考廉。 笑死频伤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的芝此。 我是一名探鬼主播憋肖,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼婚苹!你這毒婦竟也來了岸更?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤膊升,失蹤者是張志新(化名)和其女友劉穎怎炊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡评肆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年债查,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓜挽。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡盹廷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出久橙,到底是詐尸還是另有隱情俄占,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布淆衷,位于F島的核電站缸榄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏祝拯。R本人自食惡果不足惜甚带,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望佳头。 院中可真熱鬧鹰贵,春花似錦、人聲如沸畜晰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凄鼻。三九已至腊瑟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間块蚌,已是汗流浹背闰非。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留峭范,地道東北人财松。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像纱控,于是被迫代替她去往敵國和親辆毡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 引言 這段時候主攻云服務(wù) 服務(wù)器 CentOS 文件目錄 操作 基本操作: Docker簡介: 安裝Docker:...
    采香行處蹙連錢閱讀 1,194評論 0 1
  • docker基本概念 1. Image Definition 鏡像 Image 就是一堆只讀層 read-only...
    慢清塵閱讀 8,752評論 1 21
  • 使用單一進程容器甜害,即一個容器只運行一種服務(wù)舶掖,而不是把所有服務(wù)放在一個容器的設(shè)計,讓PHP項目需要的Nginx尔店、PH...
    dodos閱讀 21,264評論 22 42
  • 《Docker從入門到實踐》閱讀筆記 原書地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,382評論 1 39
  • 我的臭蛋蛋兒子出生已經(jīng)快6個月了眨攘,記得在5月初8的夜里12點也就是5月初9的的凌晨我還在出差的火車上和臭蛋的媽...
    臭蛋蛋閱讀 553評論 0 1