国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

docker搭建lnmp環(huán)境

beanlam / 1849人閱讀

摘要:項(xiàng)目由一組關(guān)聯(lián)的應(yīng)用容器組成的一個(gè)完整業(yè)務(wù)單元,在文件中定義。

docker搭建lnmp環(huán)境

一、Dockerfile定制鏡像

二、docker-compose

三、docker-compose編排lnmp環(huán)境

1、mysql

2、redis

3、mongo

4、nginx

5、php

6、完整版

四、參考

有收獲的話請(qǐng)加顆小星星,沒有收獲的話可以 反對(duì) 沒有幫助 舉報(bào)三連

代碼倉(cāng)庫(kù)

docker搭建lnmp環(huán)境

一、Dockerfile定制鏡像
# FROM 指定基礎(chǔ)鏡像
FROM 鏡像

FROM php:7.2-fpm

# RUN 執(zhí)行
RUN <命令>
or
RUN ["可執(zhí)行文件", "參數(shù)1", "參數(shù)2"]

RUN echo "

Hello, Docker!

" > /usr/share/nginx/html/index.html RUN ["php", "-S", "0.0.0.0:8080"] # COPY 復(fù)制文件 COPY <源路徑>... <目標(biāo)路徑> COPY swoole-4.2.10.tgz /home COPY nginx.conf /etc/nginx/nginx.conf # ADD 復(fù)制文件或目錄,如果是.tgz,會(huì)被解壓縮 ADD <源路徑>... <目標(biāo)路徑> ADD nginx.conf /etc/nginx/nginx.conf # CMD 容器啟動(dòng) CMD echo $HOME => CMD [ "/bin/sh", "-c", "echo $HOME" ] CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ] # ENTRYPOINT 入口點(diǎn) ENTRYPOINT ["docker-entrypoint.sh"] 存在 ENTRYPOINT 后,CMD 的內(nèi)容將會(huì)作為參數(shù)傳給 ENTRYPOINT # ENV 環(huán)境變量 ENV ENV MYSQL_ROOT_PASSWORD root # ARG與ENV差不多 ARG 所設(shè)置的構(gòu)建環(huán)境的環(huán)境變量,在將來容器運(yùn)行時(shí)是不會(huì)存在這些環(huán)境變量的 ENV MYSQL_ROOT_PASSWORD root # VOLUME 匿名卷 VOLUME ["<路徑1>", "<路徑2>"...] VOLUME ["/data"] # EXPOSE 暴露端口 EXPOSE <端口1> [<端口2>...] EXPOSE 80 443 # WOEKDIR 指定工作目錄,進(jìn)入容器后的落地目錄 WORKDIR <工作目錄路徑> WORKDIR /var/www # USER 指定當(dāng)前用戶 USER <用戶名> USER root
二、docker-compose

詳細(xì)請(qǐng)查看 https://docker_practice.gitee...

服務(wù) (service):一個(gè)應(yīng)用的容器,實(shí)際上可以包括若干運(yùn)行相同鏡像的容器實(shí)例。

項(xiàng)目 (project):由一組關(guān)聯(lián)的應(yīng)用容器組成的一個(gè)完整業(yè)務(wù)單元,在 docker-compose.yml 文件中定義。

三、docker-compose編排lnmp環(huán)境 1、mysql

這里我們使用了mysql5.5版本,沒其它用意,相比5.7以上版本,占內(nèi)存和硬盤最小的一個(gè)版本

我們準(zhǔn)備了一個(gè)my.cnf作為額外配置,這里我修改了數(shù)據(jù)庫(kù)的時(shí)區(qū)

[mysqld]

default-time-zone = "+8:00"
FROM mysql:5.5

COPY my.cnf /etc/mysql/conf.d

EXPOSE 3306
2、redis

我們使用準(zhǔn)備的配置文件redis.conf覆蓋容器默認(rèn)啟動(dòng)的配置文件,修改了ip綁定密碼

bind 0.0.0.0
requirepass root
FROM redis:latest

COPY redis.conf /usr/local/etc/redis/redis.conf

CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]

EXPOSE 6379
3、mongo

mongodb我們沒有特殊處理

FROM mongo:latest

EXPOSE 27017
4、nginx

我們準(zhǔn)備了一份nginx.conf和虛擬目錄conf.d,為了以后可以動(dòng)態(tài)的配置網(wǎng)站的代理和負(fù)載均衡

還有一個(gè)日志目錄,放在外層logs目錄里面,記錄nginx的訪問日志

特別注意的是fastcgi_pass php:9000;而不是fastcgi_pass 127.0.0.1:9000;,目前自己也沒明白

FROM nginx:alpine

COPY nginx.conf /etc/nginx/nginx.conf

EXPOSE 80
5、php

php算是這里面最難搞定的,因?yàn)槲覀冃枰~外的添加php擴(kuò)展,雖然php的docker官方提供了docker-php-ext-configure, docker-php-ext-install, docker-php-ext-enable,還是有些擴(kuò)展需要通過手動(dòng)編譯或者pecl安裝

由于pecl官網(wǎng)下載慢,我們事先下載好了幾個(gè)需要的擴(kuò)展

php-fpm用的是debian的linux系統(tǒng),下載也很慢,我們備用了阿里云的鏡像sources.list

我們還準(zhǔn)備了php的默認(rèn)配置php.iniopcache.ini

比如swoole擴(kuò)展安裝,記得安裝包用完后清理,還有得用COPY命令,ADD會(huì)解壓縮

# swoole
COPY swoole-4.2.10.tgz /home
RUN pecl install /home/swoole-4.2.10.tgz && 
    docker-php-ext-enable swoole && 
    rm /home/swoole-4.2.10.tgz
6、完整版
version: "3"

networks: 
  frontend:
    driver: bridge
  backend:
    driver: bridge

volumes: 
  mysql: 
    driver: local
  mongo:
    driver: local
  redis:
    driver: local

services: 
  php:
    build: ./php
    volumes: 
      - ${WORKER_DIR}:/var/www
    ports: 
      - 9100:9000
    depends_on: 
      - mysql
      - redis
      - mongo
    networks: 
      - backend

  nginx:
    build: ./nginx
    volumes: 
      - ${WORKER_DIR}:/var/www
      - ./logs/nginx:/var/log/nginx
      - ./nginx/conf.d:/etc/nginx/conf.d
    ports: 
      - 8000:80
    depends_on: 
      - php
    networks: 
      - frontend
      - backend

  mysql:
    build: ./mysql
    environment: 
      - MYSQL_ROOT_PASSWORD=root
    volumes: 
      - ${DATA_PATH}/mysql:/var/lib/mysql
    ports: 
      - 3310:3306
    networks: 
      - backend
  
  mongo:
    build: ./mongo
    environment: 
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=root
    ports: 
      - 27010:27017
    volumes: 
      - ${DATA_PATH}/mongo:/data/db
    networks: 
      - backend
  
  redis:
    build: ./redis
    volumes: 
      - ${DATA_PATH}/redis:/data
    ports: 
      - 6310:6379
    networks: 
      - backend
四、參考

Docker — 從入門到實(shí)踐

laradock

Docker在PHP項(xiàng)目開發(fā)環(huán)境中的應(yīng)用

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28052.html

相關(guān)文章

  • 分解dockerlnmp環(huán)境搭建中的作用

    摘要:如果不用我們可能將上述講的命令每搭建一次就需要執(zhí)行一遍,有沒有能統(tǒng)一管理的有,就是在環(huán)境搭建中的作用快速創(chuàng)建鏡像,快速創(chuàng)建并運(yùn)行容器,實(shí)現(xiàn)統(tǒng)一管理。 前言 初學(xué)者在dcoker學(xué)習(xí)過程中,可能不太清楚docker中那么多的命令,參數(shù),工具在lnmp環(huán)境搭建中起了什么作用,下面跟著我來熟悉一下。(本文面向的是不怎么熟悉linux的:phper) 鏡像,容器,倉(cāng)庫(kù) 鏡像:Docker 鏡像...

    tommego 評(píng)論0 收藏0
  • docker 搭建lnmp開發(fā)環(huán)境

    摘要:學(xué)習(xí)心得前言耗時(shí)一周零三天,終于用搭建起自己的開發(fā)環(huán)境。來搭建一下環(huán)境,然后,桌面沒了。作為過來人,我只想說,一定要只做一件事,不要過多的去研究,我們只是想搭建本地運(yùn)行環(huán)境。 docker學(xué)習(xí)心得 前言 耗時(shí)一周零三天,終于用docker搭建起自己的開發(fā)環(huán)境。詳細(xì)過程:請(qǐng)參考分解docker在lnmp環(huán)境搭建中的作用showImg(https://segmentfault.com/im...

    Hydrogen 評(píng)論0 收藏0
  • docker 搭建lnmp環(huán)境

    摘要:基礎(chǔ)命令關(guān)于搜索下載查看或者刪除單個(gè)刪除多個(gè)刪除查看信息占用關(guān)于查看重啟停止雜項(xiàng)命令網(wǎng)絡(luò)相關(guān)清除網(wǎng)絡(luò)緩存查看網(wǎng)絡(luò)列表查看詳情掛載目錄清除緩存查看列表查看詳情系統(tǒng)相關(guān)系統(tǒng)信息查看占用清除所有包含構(gòu)建失敗的鏡像沒有被使用的網(wǎng)絡(luò)配 docker基礎(chǔ)命令 關(guān)于images 搜索 docker search php 下載 docker pull php:7.3.6-fpm-alpine3....

    msup 評(píng)論0 收藏0
  • docker 搭建lnmp環(huán)境

    摘要:基礎(chǔ)命令關(guān)于搜索下載查看或者刪除單個(gè)刪除多個(gè)刪除查看信息占用關(guān)于查看重啟停止雜項(xiàng)命令網(wǎng)絡(luò)相關(guān)清除網(wǎng)絡(luò)緩存查看網(wǎng)絡(luò)列表查看詳情掛載目錄清除緩存查看列表查看詳情系統(tǒng)相關(guān)系統(tǒng)信息查看占用清除所有包含構(gòu)建失敗的鏡像沒有被使用的網(wǎng)絡(luò)配 docker基礎(chǔ)命令 關(guān)于images 搜索 docker search php 下載 docker pull php:7.3.6-fpm-alpine3....

    cucumber 評(píng)論0 收藏0
  • CentOS 7 使用 Docker 快速搭建 LNMP 環(huán)境

    摘要:配置文件配置配置文件配置文件配置文件太大就不貼了,直接下載然后本地修改吧。不會(huì)使用的使用命令進(jìn)行替換。是一種推出的免費(fèi)的公共鏡像庫(kù)服務(wù)。本地對(duì)鏡像打提交鏡像到倉(cāng)庫(kù)參考Docker 安裝安裝 Dockercurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun配置國(guó)內(nèi)鏡像mkdir -p /etc/docker cat...

    Tecode 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<