当前位置: 首页 > news >正文

使用 Docker Compose 来编排部署LMTNR项目

使用 Docker Compose 来部署一个包含 Linux、MySQL、Tomcat、Nginx 和 Redis 的完整项目的例子。假设我们要部署一个简单的 Java Web 应用,并且使用 Nginx 作为反向代理服务器。

项目目录结构

首先需要确保 Docker 和docker-compose已经安装并正在运行。
docker --version
docker-compose -v

如果有不会的安装的,参考在linux系统上安装Docker和docker-compose-CSDN博客

下面开始实战演练docker-compose编排项目

第一步、创建项目目录my_project

mkdir my_project
进入项目目录
cd my_project
然后创建 docker-compose.yml 文件
vim docker-compose.yml

输入以下内容:

version: '3'
services:mysql:image: mysql:5.7container_name: mysqlenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: mydatabasevolumes:- ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sqlports:- "3306:3306"tomcat:image: tomcat:9.0container_name: tomcatvolumes:- ./tomcat/webapps:/usr/local/tomcat/webappsports:- "8080:8080"depends_on:- mysqlnginx:image: nginx:latestcontainer_name: nginxvolumes:- ./nginx/default.conf:/etc/nginx/conf.d/default.confports:- "80:80"depends_on:- tomcatredis:image: redis:latestcontainer_name: redisvolumes:- ./redis/redis.conf:/usr/local/etc/redis/redis.confports:- "6379:6379"

第二步、nginx配置

进入项目目录 
cd my_project
创建nginx目录
mkdir nginx
进入nginx目录
cd nginx
创建default.conf文件
vim default.conf

输入以下内容:

server {listen 80;server_name localhost;location / {proxy_pass http://tomcat:8080;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}

第三步、tomcat配置

返回my_project项目目录
cd -
创建tomcat/webapps/ROOT/  目录
mkdir -p tomcat/webapps/ROOT/
进入tomcat/webapps/ROOT/  目录
cd tomcat/webapps/ROOT/  
创建index.jsp文件
vim index.jsp

输入以下内容:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Hello World</title>
</head>
<body><h1>Hello, World!</h1>
</body>
</html>

第四步、mysql数据库配置

返回my_project项目目录
cd -
创建mysql目录
mkdir mysql
进入mysql目录
cd mysql
创建文件init.sql
vim init.sql

输入以下内容:

CREATE DATABASE IF NOT EXISTS mydatabase;
USE mydatabase;CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,email VARCHAR(255) NOT NULL
);

第五步、redis配置

返回my_project项目目录
cd -
创建redis目录
mkdir redis
进入redis目录
cd redis
创建文件redis.conf
vim redis.conf

输入以下内容:

bind 0.0.0.0
protected-mode no
port 6379


第六步、启动所有服务

在 my_project 目录下运行以下命令来启动所有服务
返回my_project项目目录
cd -

docker-compose up -d

这个命令会下载所需的镜像并启动所有服务。你可以通过访问 http://localhost /主机ip 来查看你的应用是否正常运行。如果一切正常,你应该会看到一个显示 "Hello, World!" 的页面。

命令执行结果

在浏览器进行访问

成功!

http://www.lryc.cn/news/492175.html

相关文章:

  • 创建HTTPS网站
  • 以3D数字人AI产品赋能教育培训人才发展,魔珐科技亮相AI+教育创新与人才发展大会
  • springboot配置https,并使用wss
  • Qt SQL模块概述
  • JavaWeb后端开发知识储备2
  • RabbitMQ原理架构解析:消息传递的核心机制
  • redmi 12c 刷机
  • 四、Python —— 列表
  • Paper -- 建筑高度估计 -- 基于街景图像和深度学习的城区建筑高度计算
  • 机器学习周志华学习笔记-第6章<支持向量机>
  • 第三届航空航天与控制工程国际 (ICoACE 2024)
  • 【大数据技术基础】 课程 第8章 数据仓库Hive的安装和使用 大数据基础编程、实验和案例教程(第2版)
  • BERT 详解
  • 使用 MySQL 的 REPLACE() 函数轻松替换表中字段
  • Http 响应协议
  • TCP/IP 协议:网络世界的基石(2/10)
  • Lua--1.基础知识
  • 【GPT】力量训练的底层原理?
  • 各种排序算法
  • 源码解读笔记:协程的 ViewModel.viewModelScope和LifecycleOwner.lifecycleScope
  • 11.27周三F34-Day8打卡
  • XG(S)-PON原理
  • C语言实例之9斐波那契数列实现
  • YOLO系列论文综述(从YOLOv1到YOLOv11)【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】
  • 数据结构--Map和Set
  • 计算机操作系统——进程控制(Linux)
  • 【前端】ES6基础
  • 【排序算法 python实现】
  • Java图书管理系统(简易保姆级)
  • 嵌入式硬件设计:从概念到实现的全流程