docker-compose 安装nginx php mysql phpadmin

news2024/12/27 5:18:36

一 摘要

本文主要介绍基于docker docker-compose 安装 lnmp 三件套,以及用phpmysadmin 验证下部署可正确。

二 环境信息

2.1 操作系统

[root@2023001 ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@2023001 ~]#

2.2 docker

[root@2023001 soft]# docker-compose -v
Docker Compose version v2.16.0
[root@2023001 soft]# docker -v
Docker version 23.0.1, build a5ee5b1
[root@2023001 soft]#

三 实施

相关镜像在docker hub 官网下载 https://hub.docker.com/

3.1 安装docker 以及dockercompose

具体参看该文https://blog.csdn.net/nasooo/article/details/129753140

3.1 安装nginx

3.1.1 获取镜像

[root@2023001 soft]# docker pull nginx:stable-perl
[root@2023001 soft]# docker images
REPOSITORY   TAG           IMAGE ID       CREATED        SIZE
nginx        stable-perl   b4c217053922   22 hours ago   190MB
[root@2023001 soft]#


3.1.2 运行

[root@2023001 soft]# docker run -p 80:80 --name commonnginx -d nginx:stable-perl
8a3487ef5818167e1475856cfd9707c55f713e8d146e08131671c78149c3fd07
[root@2023001 soft]# docker ps -a
CONTAINER ID   IMAGE               COMMAND                  CREATED         STATUS         PORTS                               NAMES
8a3487ef5818   nginx:stable-perl   "/docker-entrypoint.…"   3 seconds ago   Up 2 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   commonnginx
[root@2023001 soft]#



3.1.3 验证

在这里插入图片描述

3.1.4 基于docker-compose 安装

3.1.4.1 docker-compose 脚本

version: '1.1'
services:
    nginx:
        image: nginx:stable-perl     # 镜像名称
        container_name: commonappnginx     # 容器名字
        restart: always     # 开机自动重启
        ports:     # 端口号绑定(宿主机:容器内)
            - '80:80'
            - '443:443'
        volumes:      # 目录映射(宿主机:容器内)
            - /data/yunweipro/commonapp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
            - /data/yunweipro/commonapp/nginx/conf.d:/etc/nginx/conf.d
            - /data/yunweipro/commonapp/nginx/html:/usr/share/nginx/html
            - /data/yunweipro/commonapp/nginx/logs:/var/log/nginx

3.1.4.2 目录结构

[root@2023001 commonapp]# tree -a
.
├── dockercomposescript
│   └── commonappnginx.yml
└── nginx
    ├── conf
    │   └── nginx.conf   
    ├── conf.d
    │   └── default.conf
    ├── html
    │   └── index.html
    └── logs
        ├── access.log
        └── error.log


启动之前,必须在该目录下 添加,一般先启动个同版本的容器 docker cp 出来

nginx.conf
default.conf
index.html
缺少这三个文件 ,nginx 会出现异常。
通过注释脚本每一行 定位错误

3.1.4.3 启动

[root@2023001 dockercomposescript]# docker-compose -f commonappnginx.yml up -d

3.1.4.4 验证目录映射

修改/data/yunweipro/commonapp/nginx/html/index.html

3.2 安装php-fpm

3.2.1 获取镜像

[root@2023001 commonapp]# docker pull bitnami/php-fpm:7.4.32
7.4.32: Pulling from bitnami/php-fpm
1d8866550bdd: Pull complete
586e9578d6ca: Pull complete
Digest: sha256:75b8ad4221f0215ad73947e342659a43d7d9bc382fd591a3ecfc3970706ff0a3
Status: Downloaded newer image for bitnami/php-fpm:7.4.32
docker.io/bitnami/php-fpm:7.4.32
[root@2023001 commonapp]# docker images
REPOSITORY        TAG           IMAGE ID       CREATED        SIZE
nginx             stable-perl   b4c217053922   25 hours ago   190MB
bitnami/php-fpm   7.4.32        85b93689d207   5 months ago   329MB
[root@2023001 commonapp]#

3.2.2 配置

version: '2'
services:
    nginx:
        image: nginx:stable-perl     # 镜像名称
        container_name: commonappnginx     # 容器名字
        restart: always     # 开机自动重启
        ports:     # 端口号绑定(宿主机:容器内)
            - '80:80'
        volumes:      # 目录映射(宿主机:容器内)
            - /data/yunweipro/commonapp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
            - /data/yunweipro/commonapp/nginx/conf.d:/etc/nginx/conf.d
            - /data/yunweipro/commonapp/nginx/html:/usr/share/nginx/html
            - /data/yunweipro/commonapp/nginx/logs:/var/log/nginx
    php:
        image: bitnami/php-fpm:7.4.32     # 镜像名称
        container_name: php     # 容器名字
        restart: always     # 开机自动重启
#        ports:     # 端口号绑定(宿主机:容器内)
#            - '9000:9000'
        volumes:      # 目录映射(宿主机:容器内)
            - /data/yunweipro/commonapp/nginx/html:/usr/share/nginx/html

conf.d/default.conf 添加此段


    #当请求网站下php文件的时候,反向代理到php-fpm
    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/$fastcgi_script_name;
        include        fastcgi_params;
    }

3.2.3 运行

[root@2023001 dockercomposescript]# docker-compose -f commonapp.yml up -d
[root@2023001 dockercomposescript]# docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS          PORTS                               NAMES
6ea54c26796c   nginx:stable-perl        "/docker-entrypoint.…"   12 seconds ago   Up 10 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   commonappnginx
935121a60fc6   bitnami/php-fpm:7.4.32   "php-fpm -F --pid /o…"   16 hours ago     Up 16 hours     9000/tcp                            php

3.2.4 验证

在/data/yunweipro/commonapp/nginx/html 目录下 放个info.php 文件,文件内容如下

<html>
<head>
<title>PHP 测试</title>
</head>
<body>

<?php phpinfo(); ?>

</body>
</html>

在这里插入图片描述

3.4 安装mysql

3.4.1 获取镜像

3.4.2 配置

    mysql:
        image: registry.kxdigit.com/mysql:5.7.33
        restart: always
        container_name: commonappmysql
        environment:
        		MYSQL_ROOT_PASSWORD: xxxxx.123
        ports:
            - 3306:3306
        volumes:
            - /data/yunweipro/commonapp/mysql:/var/lib/mysql
            - /data/yunweipro/backup/commonapp/mysqlbackupdata:/data/backup
        command:
            --lower_case_table_names=1
            --transaction-isolation=READ-COMMITTED
            --max_allowed_packet=34M
            --innodb_log_file_size=256M
            --character-set-server=utf8
            --collation-server=utf8_bin
            --log-bin=mysql-bin
            --server-id=1

新建目录

[root@2023001 dockercomposescript]# mkdir -p /data/yunweipro/commonapp/mysql
[root@2023001 dockercomposescript]# mkdir -p /data/yunweipro/backup/commonapp/mysqlbackupdata

3.4.3 运行

[root@2023001 dockercomposescript]# docker-compose -f commonapp.yml up -d
[+] Running 3/3
 ⠿ Container commonappmysql  Started                                                                                                            0.9s
 ⠿ Container php             Running                                                                                                            0.0s
 ⠿ Container commonappnginx  Started                                                                                                            0.8s

[root@2023001 dockercomposescript]# docker ps -a
CONTAINER ID   IMAGE                               COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
ca2bdd70e0d4   nginx:stable-perl                   "/docker-entrypoint.…"   59 seconds ago   Up 58 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp                      commonappnginx
a10b59299085   registry.xxxxx.com/mysql:5.7.33   "docker-entrypoint.s…"   59 seconds ago   Up 58 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   commonappmysql
935121a60fc6   bitnami/php-fpm:7.4.32              "php-fpm -F --pid /o…"   16 hours ago     Up 16 hours     9000/tcp                                               php
[root@2023001 dockercomposescript]#

3.5 安装phpmysadmin

我这里是下载phpmyadmin 文件然后放到 nginx 下运行,而不是直接安装phpmyadmin 容器

3.5.1 关键配置

config.inc.php 配置数据库地址

commonappmysql 即是上面mysql 的容器名。

$cfg['Servers'][$i]['host'] = 'commonappmysql';

3.5.2 验证

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/421860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【opencv】图像数字化——认识OpenCV中的Mat类( 7 访问多通道Mat对象中的值)

7 访问多通道Mat对象中的值 7.1使用成员函数at() #include <opencv2/core/core.hpp> #include<iostream> using namespace std; using namespace cv; int main() {Mat mm (Mat_<Vec3f>(2, 2) << Vec3f(1, 11, 21), Vec3f(2, 12, 32), Vec3f(3, …

C++【深入理解多态】

文章目录一、多态概念与实现&#xff08;1&#xff09;多态的概念&#xff08;2&#xff09;怎么构成多态&#xff08;3&#xff09;虚函数重写的2个例外&#xff08;4&#xff09;经典剖析巩固知识点&#xff08;5&#xff09; override 和 final&#xff08;6&#xff09;小总…

YOLO算法改进指南【初阶改进篇】:2.改进DIoU-NMS,SIoU-NMS,EIoU-NMS,CIoU-NMS,GIoU-NMS

非极大值抑制(Non-maximum Suppression (NMS))的作用简单说就是模型检测出了很多框,我应该留哪些。 本篇将演示如何修改:NMS、Merge-NMS、Soft-NMS、CIoU-NMS、DIoU-NMS、GIoU-NMS、EIoU-NMS、SIoU-NMS 1. NMS过程 NMS过程 For a prediction bounding box B, the model c…

基于JDK11从源码角度剖析可重入锁ReentrantLock的获取锁和解锁

ReentrantLock是可重入的独占锁&#xff0c;同时只能有一个线程可以获取该锁&#xff0c;其他获取该锁的线程会被阻塞而被放入该锁的AQS阻塞队列里面。 ReentrantLock是JUC包提供的显式锁的一个基础实现类&#xff0c;实现了Lock接口。我们先来看下ReentrantLock的类图&#x…

SpringBoot WebSocket服务端创建

引入maven <!--websocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>新建WebSocket配置文件 import org.springframework.context.annotatio…

【蓝桥杯嵌入式】第十四届蓝桥杯嵌入式省赛(第一场)客观题及详细题解

题1 解析  编码器&#xff0c;具有编码功能的逻辑电路&#xff0c;能将每一个编码输入信号变换为不同的二进制的代码输出&#xff0c;是一个组合逻辑电路。 答案 ABC 题2 解析   减法计数器的计数值到0时&#xff0c;会产生一个重装载值&#xff0c;此处重载后就会变成111…

改进YOLO系列:CVPR2023最新 PConv |提供 YOLOv5 / YOLOv8 模型 YAML 文件

论文链接:https://arxiv.org/pdf/2303.03667v2.pdf 一、论文介绍 为了设计快速神经网络,许多工作都集中在减少浮点运算(FLOPs)的数量上。然而,作者观察到FLOPs的这种减少不一定会带来延迟的类似程度的减少。这主要源于每秒低浮点运算(FLOPS)效率低下。 为了实现更快的…

buildSrc + gradle插件:多项目共享gradle依赖管理

自定义gradle 插件&#xff0c;配合 buildSrc 形式的组件库版本管理&#xff0c; 用于实现多 project 项目共享一套版本管理信息 前言 随着组件化越来越常见&#xff0c;module数量越来越多&#xff0c;依赖管理的混乱问题大家想必是都遇到过甚至正在经历着。 对于依赖管理的…

iOS - 接入 Live2D

1.安装 Cmake 1.1 从官方下载 https://cmake.org/download/ 下载成功以后,在终端输入 sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install校验是否成功 cmake --version1.2 从 Homebrew 安装 (这个方法没有成功) brew install cmake如果提示 co…

简单的配置Sawgger+knife4j完成API测试功能

目的&#xff1a;减少postman的使用&#xff0c;以及生成对应的接口文档 1、添加依赖 基于自身spring boot 版本2.7.X 我选择的是&#xff1a; <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId>…

网络中的一些基本概念

组建网络的重要设备 集线器,交换机(组建局域网,不能跨局域网组建网络),路由器(wifi本质上是无线路由器,路由器的本质的把俩个局域网给连起来) 网络通信的一些基础概念 IP地址 标识了网络设备所在的位置 端口号 标识了一个具体的应用程序 协议 协议是网络通信的概念,约定好…

校园安全AI视频行为分析系统 yolov7

校园安全AI视频行为分析系统以yolov7网络模型算法为核心&#xff0c;校园安全AI视频行为分析算法模型对现场画面中学生打架、异常跌倒、攀爬翻墙、违规闯入、明火烟雾、睡岗离岗、抽烟打电话等行为主动识别预警存档。YOLOv7 在 5 FPS 到 160 FPS 范围内&#xff0c;速度和精度都…

计算机系统-存储器层次结构

本篇不是学习课程时的笔记&#xff0c;是重看这本书时的简记。对于学习本课程的同学&#xff0c;未涉及的内容不代表考试不涉及&#xff0c;部分省略的部分是在该课程的讨论课中学习的(存储器山&#xff0c;矩阵乘法)&#xff0c;对于核心内容的掌握&#xff0c;需要学习相关实…

还在crud?快来学习架构设计啦---微服务下的依赖管理(maven篇)

文章目录一、前言二、实战2.1 创建父工程统一依赖的版本管理2.2 创建公共使用的 common工程2.3 创建子工程并引入父工程的依赖以及公共工程2.4 搭建启动环境2.5 启动程序开始验证三、总结一、前言 2023年口罩放开的第一年&#xff0c;大多数人都是想着重新开始&#xff0c;抓住…

Python assert实现软件测试

PythonPythonPython 对于测试非常看重&#xff0c;例如测试中最常见的操作——断言 assertassertassert&#xff0c;其在 PythonPythonPython 中就是一个关键字而不是一个函数。而在 CCC 语言中&#xff0c;assertassertassert 只是一个普通的函数。从这点也可以看出&#xff0…

TCP套接字编程

文章目录前言一、TCP套接字1.简单认识TCP协议2.listen函数3.accept函数4.通用TCP服务器二、大小写转换服务1.服务端2.客户端三、多进程版本TCP服务器四、多线程版本TCP服务器前言 这篇文章是紧接着上一篇《UDP套接字编程》文章的&#xff0c;里面详细介绍了套接字编程的一些基…

在Vue项目中使用tinymce富文本编辑器

TinyMC编辑器简介 TinyMCE是一款易用、且功能强大的所见即所得的富文本编辑器。跟其他富文本编辑器相比&#xff0c;有着丰富的插件&#xff0c;支持多种语言&#xff0c;能够满足日常的业务需求并且免费。 TinyMCE的优势&#xff1a; 开源可商用&#xff0c;基于LGPL2.1 插…

虚拟机安装 Ubuntu 桌面版

目录 1、下载系统镜像 2、新建虚拟机 3、配置虚拟机 1、下载系统镜像 Ubuntu桌面版最新版本下载地址&#xff1a;Download | Ubuntu 桌面版 Ubuntu桌面版历史版本下载地址&#xff1a;Download | Ubuntu 桌面版&#xff08;历史版本&#xff09; 以下载18.04 版本为例&am…

【三位重建】NeRF原理+代码讲解

文章目录一、技术原理1.概览2.基于神经辐射场&#xff08;Neural Radiance Field&#xff09;的体素渲染算法3.体素渲染算法4.位置信息编码&#xff08;Positional encoding&#xff09;5.多层级体素采样二、代码讲解1.数据读入2.创建nerf1.计算焦距focal与其他设置2.get_embed…

CSS学习|这一篇就够了|笔记|总结|(超详细讲解)

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;老茶icon &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;计…