docker-comple 部署lnmp

Docker——部署LNMP架构 使用Dockerfile部署LNMP架构 阅读详情

安装docker-comple

[root@docker ~]# mkdir -p compose_lnmp/php
[root@docker ~]# touch compose_lnmp/docker-compose.yml
[root@docker ~]# touch compose_lnmp/php/Dockerfile

[root@docker ~]# wget -c  https://github.com/docker/compose/releases/download/1.25.5/docker-compose-Linux-x86_64
[root@docker ~]# mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
[root@docker ~]# chmod  a+x /usr/local/bin/docker-compose 
[root@docker ~]# docker-compose --version
docker-compose version 1.25.5, build 8a1c60f6

创建相应的文件和目录

[root@docker ~]# tree compose_lnmp/
compose_lnmp/
├── docker-compose.yml
└── php
    └── Dockerfile

1 directory, 2 files

编辑php/Dockerfile

[root@docker ~]# vim compose_lnmp/php/Dockerfile
FROM php:7.0-fpm
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng-dev \
        libmemcached-dev \
        zlib1g-dev \
        libcurl4-openssl-dev \
        libxml2-dev \
        --no-install-recommends && rm -rf /var/lib/apt/lists/* \
    && docker-php-ext-install -j$(nproc) \
        iconv mcrypt gettext curl mysqli pdo pdo_mysql zip \
        mbstring bcmath opcache xml simplexml sockets hash soap \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd

CMD ["php-fpm", "-F"]

编写docker-compose.yml

[root@docker ~]# vim compose_lnmp/docker-compose.yml
version: "3"

services:
  mysql:
    hostname: mysql
    restart: always
    image: mysql
    container_name: mysql
    ports:
      - "3306:3306"
    volumes:
      - mysql-config:/etc/mysql
      - mysql-log:/var/log/mysql
      - mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_USER: user
      MYSQL_PASSWORD: user123
  php:
    hostname: php
    restart: always
    container_name: php
    build:
      context: ./php
      dockerfile: Dockerfile
    ports:
      - "9000:9000"
    links:
      - mysql:mysql
    volumes:
      - nginx-html:/var/www/html
      - php-config:/usr/local/etc
  nginx:
    hostname: nginx
    restart: always
    container_name: nginx
    image: nginx
    ports:
      - "80:80"
      - "443:443"
    links:
      - "php:php"
    volumes:
      - nginx-config:/etc/nginx
      - nginx-log:/var/log/nginx
      - nginx-html:/usr/share/nginx/html

volumes:
  mysql-config:
  mysql-log:
  mysql-data:
  nginx-html:
  php-config:
  nginx-config:
  nginx-log:

启动服务

cd compose_lnmp

docker-compose up -d 启动
docker-compose restart 重启

查看容器

[root@docker compose_lnmp]# docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED          STATUS                    PORTS                                                                      NAMES
f8c18829cabf   nginx                                "/docker-entrypoint.…"   11 seconds ago   Up 9 seconds              0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx
72176d819d74   compose_lnmp_php                     "docker-php-entrypoi…"   3 minutes ago    Up 3 minutes              0.0.0.0:9000->9000/tcp, :::9000->9000/tcp                                  php
ed1f8854128f   mysql                                "docker-entrypoint.s…"   3 minutes ago    Up 3 minutes              0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                       mysql

数据化持久目录

[root@docker compose_lnmp]# docker volume ls 
DRIVER    VOLUME NAME
local     03c7770fea6d9350f979847be29f2b8146303fbd48116618616628b3b77221a0
local     4e5fed374feab2035464fad478c611db71aa6e1174065fe31b8c4626c7c08ca7
local     7fc541df71d8c55675f12ecf92e219b3f2353b54533a10701443bb3fa17b6d71
local     8c79a13f19fe88e0ece1013cc5bc28bca0433bda2d61c3e67dac4b6f5f61bff8
local     9cc1ed86d97c0dc679e8bc41ec7c4b0d96ced9562b64e42c3583b1d2e854bafc
local     16fe9d63e0550065f430ac23bfebc44d90eec5905c7e4c30761aaa8372d146c8
local     401f58ed1ca49d98ad53ac052adda6865a32e3ba82135c869a490d469b6d6f6f
local     1397ed5ef8e78fb5fc52b8ffb4c4dce37ed809e8baedacccec43af05f7e5cd5b
local     75855c7759d263a7bd9b6ef1ecf5481e828c46d083e55eba199ebb780da57bfd
local     907641a94d3a3c4d83e4978a43d9f64575cd4457dfb2b9cf9374556002084f48
local     9872933f652693474acdb9d723376abe90b429801aa6ce1e398face00b1e708d
local     a2e26dc94e5e02c4c69789c95a75d8d3d5f26fc7d206701ac9606620797949db
local     compose_lnmp_mysql-config #数据库配置文件
local     compose_lnmp_mysql-data	#数据库数据文件
local     compose_lnmp_mysql-log	#数据库日志
local     compose_lnmp_nginx-config #nginx配置文件
local     compose_lnmp_nginx-html	#nginx web目录
local     compose_lnmp_nginx-log	#nginx日志目录
local     compose_lnmp_php-config	#php配置文件
local     e7d2f4821be653b47497c2670e1d33b691ace4c39f279057efda3ae91a3d21c0

配置php

#默认的php.ini文件是没有的,需要手动把模板配置文件复制为php.ini
[root@docker ~]# cd /var/lib/docker/volumes/compose_lnmp_php-config/_data/php
[root@docker php]# cp php.ini-production php.ini

修改php.ini时区
[root@docker php]# vim php.in
date.timezone = Asia/Shanghai

配置nginx

[root@docker ~]# vim /var/lib/docker/volumes/compose_lnmp_nginx-config/_data/conf.d/default.conf
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;     #此处添加index.php

#取消注销并进行修改
    location ~ \.php$ {
        root           html;
        fastcgi_pass   php:9000;   #php为容器的名字
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
        include        fastcgi_params;
    }

mysql测试

[root@docker ~]# docker container exec -it mysql bash
root@mysql:/# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.26    |
+-----------+
1 row in set (0.01 sec)

mysql> 

验证php

[root@docker ~]# vim /var/lib/docker/volumes/compose_lnmp_nginx-html/_data/index.php
<?php phpinfo();

重启所有容器

[root@docker ~]# cd compose_lnmp
[root@docker compose_lnmp]# docker-compose restart
Restarting nginx ... done
Restarting php   ... done
Restarting mysql ... done
[root@docker compose_lnmp]# ss -antl
State        Recv-Q       Send-Q             Local Address:Port             Peer Address:Port       Process       
LISTEN       0            128                      0.0.0.0:80                    0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:22                    0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:443                   0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:9000                  0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:3306                  0.0.0.0:*                        
LISTEN       0            128                    127.0.0.1:1514                  0.0.0.0:*                        
LISTEN       0            128                         [::]:80                       [::]:*                        
LISTEN       0            128                         [::]:22                       [::]:*                        
LISTEN       0            128                         [::]:443                      [::]:*                        
LISTEN       0            128                         [::]:9000                     [::]:*                        
LISTEN       0            128                         [::]:3306                     [::]:*        

在这里插入图片描述

机器学习入门指南:Jupyter Notebook实战 对于机器学习工程师而言,他们更擅长的是算法、模型、数据探索的工作,而对于工程化的能力则并不是其擅长的工作。Jupyter Notebook生成PMML文件1​​​​​​​。Jupyter Notebook生成PMML文件2​​​​​​​。PySpark Notebook建模 -折线图​​​​​​​。TensorFlowNotebook建模​​​​​​​。R Notebook建模 - 散点图​​​​​​​。PySpark Notebook建模​​​​​​​。R Notebook获取训练数据集​​​​​​​。 阅读详情

相关推荐

Sciter教程_00_创建HelloWorld工程

本教程记录Sciter工程的创建和编译运行的过程。

qq_36707072的博客 2277

【docker】dcoker-compose介绍

我们知道使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。下面介绍Docker官方产品,Docker Compose。Dockerfile可以让用户管理一个单独的应用容器,而compose则允许用户在一个模板(yaml格式)中定义一组相关联的应用容器(被称为一个project,即项目)例如一个web服务再加上后端的数据库服务容器等。docker-compose项目是docker官方的开源项目,负责实现对docker容器集群的快速编排。

种一颗树最好的时间是十年前,其次是现在! 4523

从深算一号到三号:海光DCU的技术演进与国产超算突围之路

本文梳理了海光DCU从深算一号到三号的技术演进历程,展现了国产高性能计算芯片从填补空白到追赶并行的突围之路。文章重点分析了深算系列在性能提升、软件生态(DTK)建设及超算平台构建方面的关键进展,并探讨了其在AI大模型训练、科学计算等领域的应用实践与未来挑战。

ipfs8storage的博客 1062

Docker 搭建 LNMP 环境

一:安装和启动 Docker 1、安装 Docker Docker 的安装过程十分的简单: mkdir ~/docker && cd ~/docker && sudo apt-get -y install docker.io 完成后,您可以通过 docker version 来查看 Docker 的版本信息, docker help 来查看 Docker 的帮助文档。 2、更换镜像源 Docker 工作的基础即是镜像。您可以认为一个镜像即是一个独立的由应用组成的虚拟机。为此

qq_32109909的博客 1万+

FPGA实战:SRIO接口数据流控制与回环测试详解

本文详细解析了FPGA中SRIO接口的数据流控制机制与回环测试实战。通过剖析SRIO IP核的AXI4-Stream接口握手时序(tvalid/tready/tlast),重点阐述了HELLO数据包格式与状态机设计,并提供了完整的Verilog代码示例。文章以回环测试为核心验证手段,指导开发者排查常见问题,为FPGA高速互连通信设计提供实用指南。

weixin_29173777的博客 425

如何下载era5数据?(两种方式)

供水利大数据云计算课程同学参考使用#

Camiel_sweet的博客 1万+

Docker搭建LNMP----(超详细)

目录​编辑一、项目环境1.1 所有安装包下载:1.3 服务器环境1.4任务需求二、Ngin2.1、建立工作目录2.2 编写 Dockerfile 脚本2.3准备 nginx.conf 配置文件2.4生成镜像 2.5创建自定义网络2.6启动镜像容器2.7验证 nginx、三、Mysql3.1建立工作目录3.2编写 Dockerfile 3.3准备 my.cnf 文件3.4生成镜像3.5启动镜像容器 3.5验证 mysql四、PHP4.1建立工作目录4.2编写 Dockerfile 脚本4.3准备 php.i

m0_71888825的博客 3765

SAP License:SAP会计凭证抬头的字段状态控制

FI模块的同事一般都知道在FI中有个字段状态变式,可以控制在凭证输入时哪些字段是必输、哪些可选哪些隐藏,但这只对凭证行项目中有效,你是否想过对于凭证抬头的字段是哪控制呢? 在中国,会计附件上都要带一个附件张数字段,但SAP的默认配置中没有这一字段,并非SAP没有设置此字段,而是我们没有配置这一字段。如果需要在凭证输入时放出分支号(BRNCH)、附件页数(NUMPG)等字段,在个人参数文件中加入参数CSF,参数值AR,即可。如下图: 实际上,这是对凭证国家的一个设置,在SAP中,配置了AR这个国家..

SAP权限管控|SAP用户权限管理|SAP权限合规检查|SAP全日志管理 2225

Linux 下使用Docker 安装 LNMP环境以及项目搭建 超详细

一、安装docker 1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。 通过 uname -r 命令查看你当前的内核版本 uname -r 2、使用 root 权限登录 Centos。确保 yum 包更新到最新。 sudo yum update 3、卸载旧版本(如果安装过旧版本的话) sudo yum remove docker docker-common docker-selinux docker-en

最美不过下雨天 6155

使用moveit控制机械臂

位置设置:`target_pose.position.x = 0.12`, `target_pose.position.y = 0.41`, 和 `target_pose.position.z = 0.44` 分别设置了机械臂末端执行器的X, Y, 和 Z坐标。设定目标位置:`group.set_pose_target(target_pose)` 这一命令将之前定义的目标位置和姿态设置为当前机械臂组的目标,为接下来的路径规划做准备。在机械臂控制的过程中,设定精确的目标位置和姿态是实现精确操作的关键步骤。

realman_Rop的博客 3688

PyTorch实战:5步搞定QAT量化感知训练(附避坑指南)

本文详细介绍了在PyTorch中实施量化感知训练(QAT)的五步实战流程。通过环境准备、模型融合、伪量化节点与STE原理剖析、校准微调训练、模型转换与导出等步骤,帮助开发者有效压缩模型以适配移动端与边缘设备部署,并提供了关键的超参数设置与常见问题避坑指南。

weixin_29083373的博客 419

docker学习——docker-compose 搭建lnmp环境

第一步: 尝试多容器搭建lnmp环境 第二步: 通过docker-compose编排搭建lnmp环境 第三步: 编写dockerfile 结合docker-compose 第一步:多容器搭建lnmp环境 1. 安装 nginx 镜像 1.1 创建lnmp的网络 docker network create --driver=bridge --subnet=192.168.0.0/16 mynginx 1.2 准备default.conf文件 在测试 /home/nginx 目录下准备default.conf

weixin_41866324的博客 3471

告别深度学习!用5个麦克风搞定多说话人分离:ReTM算法保姆级教程

本文详细介绍了ReTM算法,这是一种无需深度学习、仅需5个麦克风即可实现多说话人语音分离的创新信号处理方法。它通过估计相对传递矩阵,利用空间物理信息在混响环境中分离语音,具有数据需求低、计算复杂度小、无需先验几何信息等优势,特别适合嵌入式设备和资源受限场景。

desk3的博客 157

Docker搭建lnmp详解

摘要: 本文详细介绍了使用Docker搭建LNMP环境的完整流程。首先通过官方脚本安装Docker,然后拉取Ubuntu 20.04镜像并创建容器。在容器内安装PHP 7.4及相关扩展,配置php.ini和php-fpm,并启动PHP服务。接着安装Nginx,重点讲解如何配置Nginx与PHP-FPM建立连接(通过修改sites-enabled/default文件中的PHP处理部分)。整个过程包含详细的命令示例和配置文件修改说明,适合需要快速搭建LNMP开发环境的用户参考。

你好 4161

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

docker中部署lnmp架构

Docker是一种轻量级的虚拟化技术,通过将应用程序及其依赖资源打包成一个镜像并运行在容器中,来实现应用的隔离和快速部署。而LNMP(Linux + Nginx + MySQL + PHP)架构是一个常见的Web应用程序架构,它将Linux作为操作系统,Nginx作为Web服务器,MySQL作为数据库,PHP作为服务器端编程语言,通过结合这些技术能够快速搭建一个高效稳定的Web应用程序。

weixin_65643437的博客 1470

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Docker 官方镜像构建 LNMP 测试环境

文章目录概述一. Network and Volumes二. image三. LNMP 概述 因为需要测试一些环境,在虚拟机里跑或者单个镜像又不方便,在宿主机又不安全,所以搭建一个通用的lnmp环境,把www目录与数据库需要导入的目录通过数据卷映射出来,方便源码导入修改。 环境: mysql@v5.7 php@v7.4 nginx@v1.21 一. Network and Volumes 创建自定义网络,将lnmp的网络都放在一个自定义网络中,利于管理与容器组件之间的通信。 docker networ

欢迎关注微💌,不定期发布安全运维、甲方视角安全建设、乙方厂商专业安全服务内容。 4358

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

详细记录docker部署lnmp

docker容器化部署lnmp 一、安装docker #1、更新 yum update #2、docker默认安装版本为1.13.1,这里安装docker-ce版,即使社区版 # step 1: 安装必要的一些系统工具 [root@localhost ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加docker-ce源 [root@localhost ~]# sudo yum-config-ma

阿蔡的博客 4777

Docker搭建LNMP

Docker搭建LNMP架构

m0_58154448的博客 1275

docker中搭建lnmp

目录一:项目环境1、主机ip需求2、 任务需求二:二级Dockerfile实验部署 lnmp1、先部署一个有所有依赖包的镜像2、搭建nginx 3、搭建mysql 4、搭建php三:一级安装lnmp1、构建自定义docker网络2、构建nginx容器(172.18.0.10)3、构建mysql(172.18.0.20)4、构建php(172.18.0.30)公司在实际的生产环境中,需要使用Docker 技术在一台主机上创建LNMP服务并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工

A1100886的博客 1072

Docker搭建LNMP架构

​ ①LNMP 是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L 指 Linux,N指 Nginx,M一般指 MySQL,也可以指 MariaDB,P 一般指 PHP,也可以指 Perl 或 Python。 ②LNMP 是:Linux+ Nginx+MySQL+PHP 这种网站服务器架构。 ​

sllovezxy的博客 1201

Docker容器与虚拟化技术:Dockerfile部署LNMP

表示读取nginx容器的共享信息#表示读取mysql容器的共享信息。

cronaldo91的博客 1538

使用Docker手动部署LNMP开发环境

我的系统版本:CentOS-7-x86_64-Minimal-1908.iso 安装Docker 安装仓库: $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 设置仓库地址: $ sudo yum-config-manager \ --add-repo \ https://...

buer2202的博客 2145

使用docker搭建LNMP开发环境

宿主机环境 系统:ubuntu 18.04 docker版本:18.03.1-ce docker的安装请自行参考官方文档。 前言 这篇文章用于介绍如何使用docker搭建一个LNMP开发环境,下面我们将会编写Dockerfile,基于官方docker hub的镜像,分别构建我们自己的镜像,然后运行。要构建的镜像有: PHP-FPM 7.4 Nginx 1.19 MySQL 5.7 Redis 6.2 为什么不直接使用官方镜像,而是自己再构建一个? 因为官方镜像一般安装的东西都很少,例如PHP-FPM的

IT部落格 6660

使用Docker 部署 LNMP+Redis 环境

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。推荐内核版本3.8及以上。

whf1215847706的专栏 1158

基于Dockerfile搭建LNMP

公司在实际的生产环境中,需要使用Docker 技术在一台主机上创建LNMP服务并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工作。(4)将所有容器进行快照,然后将Docker镜像打包成tar包备份到本地。(1)使用Docker构建LNMP环境并运行Wordpress网站平台。(2)限制Nginx容器最多使用500Mb的内存和1G的Swap。容器写 /dev/sda 的速率为。

weixin_46254171的博客 3284

Docker部署LNMP完整教程

在Docker中部署LNMP环境可以分为以下几个步骤: 安装Docker 创建镜像 创建Dockerfile build Docerfile 复制/修改配置文件 运行镜像,并映射端口 为了方便分布式部署,Nginx、PHP、MySQL和Web目录会分别放在4个不同的容器中,最后我们会打包成4个镜像。 1 安装docker和docker-compose 安装docker和docker-compose自行Google吧,太多教程了,这里就不做一一介绍了。 Docker安装要求Linux 3.10以上版本

脚本叔叔 1561
上一篇: docker搭建私有仓库harbor
下一篇: podman
B_memory
博客等级 码龄6年 7粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值