国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用docker-compose搭建lnmpr環(huán)境

這篇具有很好參考價值的文章主要介紹了使用docker-compose搭建lnmpr環(huán)境。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

源碼gitee

compose 使用的三個步驟:

? 使用 Dockerfile 定義應(yīng)用程序的環(huán)境。
? 使用 docker-compose.yml 定義構(gòu)成應(yīng)用程序的服務(wù),這樣它們可以在隔離環(huán)境中一起運行。
? 最后,執(zhí)行 docker-compose up -d 命令來啟動并運行整個應(yīng)用程序。

下面先展示如下存在的目錄及文件結(jié)構(gòu)

使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

docker-compose.yml 文件內(nèi)容

version: "1.0"
services:
  redis:
     image: redis5.0.12:v1
     container_name: lnmp_redis
     build:
      context: ./redis
      dockerfile: Dockerfile
     volumes:
      - ./redis/conf:/etc/redis
      - ./redis/logs:/usr/local/redis/logs
      - ./redis/data:/usr/local/redis/data
     environment:
      - TZ=Asia/Shanghai
     ports:
      - "6379:7379"
     networks:
      - backend
  php: 
    image: php8:v1
    container_name: lnmp_php8
    build: 
     context: ./php
     dockerfile: Dockerfile
    depends_on:
     - "redis"
     - "mysql"
    volumes:
     - ./php/project:/data/wwwroot/project
     - ./php/logs:/usr/local/php/logs
    environment:
     - TZ=Asia/Shanghai
    ports:
     - "9000:9000"
    networks:
     - frontend
     - backend
  nginx:
    image: nginx1.22:v1
    container_name: lnmp_nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    depends_on:
      - "php"
    volumes:
      - ./nginx/html:/data/wwwroot/html
    environment:
      - TZ=Asia/Shanghai
    ports:
      - "80:80"
      - "443:443"
    networks:
      - frontend
  mysql: 
    image: mysql8.0.32:v1
    container_name: lnmp_mysql
    build:
      context: ./mysql
      dockerfile: Dockerfile
    environment:
      - TZ=Asia/Shanghai
    ports:
      - "3306:3306"
    networks:
      - backend  
networks:
  frontend:
  backend:

nginx中Dockerfile文件內(nèi)容

# 拉取 CentOS
FROM centos:7.8.2003

# 作者信息
MAINTAINER "LuNan"


# 下載相關(guān)依賴
RUN yum update -y \
  && yum install -y vim git wget gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop 

# 創(chuàng)建用戶
RUN useradd www


# 設(shè)置 nginx 版本
ENV NGINX_VERSION 1.22.0

# 下載安裝及編譯
RUN wget http://nginx.org/download/nginx-1.22.0.tar.gz \
  && tar -zxf nginx-$NGINX_VERSION.tar.gz \
     && cd nginx-$NGINX_VERSION \
     && ./configure  --prefix=/usr/local/nginx  --with-http_sub_module --with-http_ssl_module && make && make install
     


# 配置

RUN mkdir -p /data/wwwroot/html

COPY ./conf/nginx.conf /usr/local/nginx/conf/nginx.conf

COPY ./html/index.html /data/wwwroot/html


# 聲明要把容器的哪些端口映射到宿主機
EXPOSE 80 433


COPY run.sh /etc/run.sh
RUN chmod +x /etc/run.sh

ENTRYPOINT ["/etc/run.sh"]

nginx中nginx.conf 配置文件變更

user  www;  
worker_processes  auto;

location / {
    root   /data/wwwroot/html;
    index  index.html index.htm;
}

location ~ \.php$ {
    fastcgi_pass   lnmp_php8:9000; # lnmp_php8指的是php容器名稱
    fastcgi_index  index.php; 
    # /data/wwwroot/project/  為php容器中的項目目錄,可以看一下php中的Dockerfile文件
    fastcgi_param  SCRIPT_FILENAME  /data/wwwroot/project/$fastcgi_script_name;
    include        fastcgi_params;
}

nginx中run.sh文件內(nèi)容

#!/bin/bash

/usr/local/nginx/sbin/nginx -g "daemon off;" 

tail -f /dev/null

nginx中html目錄下的index.html文件內(nèi)容

<!DOCTYPE html>
<html>
<head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
</head>
<body>
    ceshi
    nginx鏡像測試文件
</body>
</html>

php中Dockerfile文件內(nèi)容

# 拉取 CentOS
FROM centos:7.8.2003
# 作者信息
MAINTAINER "LuNan"

    
# 下載相關(guān)依賴
RUN yum update -y \
   && yum install -y vim git wget gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop \
   libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel libcurl-devel 


RUN yum install -y libwebp-devel 

RUN yum install -y http://down.24kplus.com/linux/oniguruma/oniguruma-6.7.0-1.el7.x86_64.rpm \
  http://down.24kplus.com/linux/oniguruma/oniguruma-devel-6.7.0-1.el7.x86_64.rpm 

# 保證nginx 和php 用戶相同
RUN groupadd www && useradd -g www www


# 設(shè)置 php 版本
ENV PHP_VERSION 8.2.8

#下載及編譯
RUN  cd /opt \
     && wget https://www.php.net/distributions/php-$PHP_VERSION.tar.gz --no-check-certificate \
     && tar -zxf php-$PHP_VERSION.tar.gz \
     && cd php-$PHP_VERSION \
     && ./configure  --prefix=/usr/local/php \
     --with-config-file-path=/usr/local/php/etc \
     --with-openssl \
     --enable-fpm \
     --enable-gd \
     --with-curl \
     --with-zlib \
     --with-jpeg \
     --with-webp=/usr/local/include/webp  \
     --with-freetype=/usr/local/freetype \
     --without-sqlite3 \
     --without-pdo-sqlite \
     --disable-rpath \
     --enable-mbstring \
     --enable-mysqlnd \
     --with-mysqli \
     --with-pdo-mysql \
     --with-fpm-user=www \
     --with-fpm-group=www \
   && make && make install
     


# 執(zhí)行shell命令
RUN cp /opt/php-$PHP_VERSION/php.ini-development /usr/local/php/etc/php.ini \
   && cp  /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf \
   && cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf \
   && sed -i "90a \daemonize = no" /usr/local/php/etc/php-fpm.conf \
   && sed -i "s/127.0.0.1/0.0.0.0/" /usr/local/php/etc/php-fpm.d/www.conf \ 
   && mkdir -p /data/wwwroot/project   


COPY ./project/index.php /data/wwwroot/project/
COPY ./project/mysql.php /data/wwwroot/project/


EXPOSE 9000
COPY run.sh /etc/run.sh
RUN chmod +x /etc/run.sh

# 啟動
ENTRYPOINT ["/etc/run.sh"]

# redis 擴展版本
ENV REDIS_PECL_VERSION 5.3.7
# 新增redis擴展
RUN cd /opt \ 
    && wget  https://pecl.php.net/get/redis-$REDIS_PECL_VERSION.tgz \
    && tar -zxvf redis-$REDIS_PECL_VERSION.tgz \ 
    && cd  redis-$REDIS_PECL_VERSION \
    && /usr/local/php/bin/phpize \
    && ./configure -with-php-config=/usr/local/php/bin/php-config \
    && make && make install \
    && sed -i "90a \extension=redis.so" /usr/local/php/etc/php.ini

php中project目錄下的index.php 文件內(nèi)容

<?php
echo "ce";
echo "ceshi";
echo phpinfo();

php中run.sh 文件內(nèi)容

#!/bin/bash

/usr/local/php/sbin/php-fpm 

tail -f /dev/null

redis中Dockerfile文件內(nèi)容

# 拉取 CentOS
FROM centos:7.8.2003

# 維護者
MAINTAINER lunan

# 設(shè)置 Redis 版本
ENV REDIS_VERSION 5.0.12

# 下載依賴
RUN yum update -y \
  && yum install -y vim wget gcc gcc-c++ make perl tar 

# 下載包和編譯
RUN  cd /opt \
  && wget http://download.redis.io/releases/redis-$REDIS_VERSION.tar.gz \
  && tar -zxf redis-$REDIS_VERSION.tar.gz \
  && cd redis-$REDIS_VERSION \
  && make && make PREFIX=/usr/local/redis install

# 相關(guān)配置
RUN  cd /opt/redis-$REDIS_VERSION \
  && mkdir -p /usr/local/redis/{logs,data} \ 
  && mkdir -p /etc/redis && chmod -R 755 /etc/redis 
  #&& chmod +x redis.conf \
  #&& mv redis.conf /etc/redis/redis.conf \
  #&& sed -i "s/bind 127.0.0.1/bind 0.0.0.0/g" /etc/redis/redis.conf \
  #&& sed -i "s/daemonize no/daemonize yes/g" /etc/redis/redis.conf 
# 復(fù)制本地文件到容器中
COPY ./conf/redis.conf /etc/redis/redis.conf

# 設(shè)置端口
EXPOSE 6379

# 腳本運行
COPY run.sh /etc/run.sh
RUN chmod +x /etc/run.sh
ENTRYPOINT ["/etc/run.sh"]

redis中conf目錄下的redis.conf變更

bind 0.0.0.0
daemonize yes

redis中run.sh文件內(nèi)容

#!/bin/bash

/usr/local/redis/bin/redis-server /etc/redis/redis.conf > /usr/local/redis/logs/redis.log


tail -f /dev/null

執(zhí)行docker-compose 命令

docker-compose up -d

使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

檢查各個進程狀態(tài)

使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

訪問各個相關(guān)頁面

  1. nginx默認頁面
    使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

  2. php默認頁面
    使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

  3. php redis擴展信息
    使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

mysql 相關(guān)配置

mysql未配置之前頁面,出現(xiàn)的錯誤:
使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

首先配置mysql相關(guān)授權(quán):
進入mysql 容器: docker exec -it lnmp_mysql bash,密碼在之前日志文件中/usr/local/mysql/error.log,進入到mysql 命令行中,執(zhí)行如下操作:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; # 重新設(shè)置密碼
create user 'lunan'@'%' identified by 'root' ; # 新增lunan用戶
grant all privileges on *.* to lunan@'%'; # 授權(quán)
flush privileges; # 刷新

使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

需要更改php容器中,mysql.php 文件的相關(guān)信息:
使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維
需要注意的是$host 變量: 為mysql的ip ,可以通過如下命令查看:
使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維
然后再次訪問mysql.php 文件:
使用docker-compose搭建lnmpr環(huán)境,Docker,docker,容器,運維

至此docker-compose 安裝 lnmpr已完成!??!文章來源地址http://www.zghlxwxcb.cn/news/detail-622495.html

到了這里,關(guān)于使用docker-compose搭建lnmpr環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 使用docker-compose搭建mysql主從

    使用docker-compose搭建mysql主從

    目錄 一、docker-compose和主從的簡介 1、docker-compose 2、mysql主從 3、為什么要使用docke-compose? 二、部署mysql主從集群 1、mysql-master主庫 2、mysql-slave從庫 三、安裝docker-compose 1、上傳文件 2、添加可執(zhí)行權(quán)限 3、創(chuàng)建并編輯docker-compose.yml文件 4、運行docker-composeysql.yml 四、配置mysql主

    2024年02月07日
    瀏覽(39)
  • 使用Docker-Compose搭建Redis集群

    使用Docker-Compose搭建Redis集群

    3主+3從 由于僅用于測試,故我這里只用1臺服務(wù)器進行模擬 redis列表 在server上創(chuàng)建一個目錄用于存放redis集群部署文件。這里我放的路徑為/root/redis-cluster 在/opt/docker/redis-cluster目錄下創(chuàng)建redis-1,redis-2,redis-3,redis-4,redis-5,redis-6文件夾 注意:port值不能都為6379,根據(jù)上面redis列表設(shè)

    2024年02月15日
    瀏覽(31)
  • minio文件服務(wù)器-docker docker-compose 搭建部署以及使用大全

    minio文件服務(wù)器-docker docker-compose 搭建部署以及使用大全

    下載官網(wǎng) 簡介 docker-compose 單機版安裝 拉取鏡像運行容器 docker-compose 搭建 minio 分布式對象存儲 部署 官方推薦 docker-compose.yaml :下載地址 vim docker-compose.yml 接著創(chuàng)建 config目錄 執(zhí)行啟動命令,看到各個節(jié)點 healthy 狀態(tài)即成功 瀏覽器訪問任意節(jié)點 web console ,進行簡單配置,配

    2023年04月10日
    瀏覽(27)
  • 使用docker-compose 搭建mongo單節(jié)點與副本集

    注:確認已經(jīng)已經(jīng)關(guān)閉防火墻和selinux和已安裝docker mkdir -p /data/mongodb vim /data/mongodb/mongo.yml vim /data/mongo/start_mongodb.sh 常用命令使用文檔: https://www.runoob.com/mongodb/mongodb-tutorial.html vim /data/mongodb/mongodb.yml 2.2.1 登錄容器 2.2.2 初始化集群 2.2.2.1添加配置文件 2.2.2.2初始化副本集mongo

    2024年01月22日
    瀏覽(50)
  • Docker-compose搭建xxl-job(并配置Python3環(huán)境xxl-job執(zhí)行器)

    Docker-compose搭建xxl-job(并配置Python3環(huán)境xxl-job執(zhí)行器)

    注意:a.文件內(nèi)IP替換成自己本機IP; b.數(shù)據(jù)庫連接、用戶密碼根據(jù)自己情況修改; 注意:根據(jù)自己Python腳本需要添加python3第三方包; 注意:xxl-job-executor-sample-springboot-2.2.0.jar 為xxl-job的執(zhí)行器jar包 可從github上拉取源碼打包成jar 這里提供該文件csdn下載地址:https://download.csdn.

    2024年02月14日
    瀏覽(43)
  • 【Docker-compose】基于Docker-compose創(chuàng)建LNMP環(huán)境并運行Wordpress網(wǎng)站平臺

    【Docker-compose】基于Docker-compose創(chuàng)建LNMP環(huán)境并運行Wordpress網(wǎng)站平臺

    參見使用Docker構(gòu)建LNMP環(huán)境并運行Wordpress網(wǎng)站平臺 Docker-Compose將所管理的容器分為三層,分別是 項目(project)、服務(wù)(service)以及容器(container) 。 Docker-Compose運行目錄下的所有文件組成一個項目, 若無特殊指定項目名即為當前目錄名 。 一個工程當中可包含多個服務(wù),每個

    2024年02月15日
    瀏覽(20)
  • docker-compose搭建redis服務(wù)

    2024年02月14日
    瀏覽(34)
  • vue項目docker docker-compose 本地開發(fā)環(huán)境配置

    配置Docker Compose用于在本地開發(fā)Vue項目是一個方便且高效的方法。Docker Compose允許您定義和管理多個容器組成的應(yīng)用程序。 一、配置Docker Compose文件,用于在本地開發(fā)Vue項目 docker-compose.yaml 二、配置 Dockerfile Dockerfile 三、在終端中進入Vue項目的根目錄,然后運行以下命令來啟動

    2024年02月15日
    瀏覽(89)
  • Docker-compose 啟動 lnmp 開發(fā)環(huán)境

    Docker-compose 啟動 lnmp 開發(fā)環(huán)境

    GitHub傳送陣 docker-lnmp 項目幫助開發(fā)者快速構(gòu)建本地開發(fā)環(huán)境,包括Nginx、PHP、MySQL、Redis 服務(wù)鏡像,支持配置文件和日志文件映射,不限操作系統(tǒng); 此項目適合個人開發(fā)者本機部署,可以快速切換服務(wù)版本滿足學(xué)習(xí)服務(wù)新版本的需求; 也適合團隊中統(tǒng)一開發(fā)環(huán)境,設(shè)定好配置

    2024年02月01日
    瀏覽(18)
  • Docker與Docker-compose安裝Vulfocus Vulhub漏洞環(huán)境

    Docker與Docker-compose安裝Vulfocus Vulhub漏洞環(huán)境

    一.docker 和?docker-compose 介紹:? docker: docker-compose: 二者的區(qū)別: 二者的聯(lián)系: 二者的總結(jié): 二.Centos 7安裝Docker 三.Centos 7安裝docker-compose 四.docker-compose搭建Vulhub漏洞測試靶場 五.基于docker-compose安裝Vulfocus漏洞環(huán)境 六.基于Docker安裝Vulfocus漏洞環(huán)境 七.總結(jié): ????????d

    2024年02月02日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包