docker compose部署mall

2024-02-09 15:52
文章标签 部署 docker compose mall

本文主要是介绍docker compose部署mall,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装环境软件

1.拉取镜像

docker pull mysql:5.7
docker pull redis:7
docker pull nginx:1.22
docker pull rabbitmq:3.9-management
docker pull elasticsearch:7.17.3
docker pull kibana:7.17.3
docker pull logstash:7.17.3
docker pull mongo:4
docker pull minio/minio

2.创建目录

mkdir -p  /opt/mall/minio/data
mkdir -p /opt/mall/redis/data
mkdir -p /opt/mall/mysql/{data,conf,log}
mkdir -p /opt/mall/nginx/{conf,html,logs}
mkdir -p /opt/mall/rabbitmq/data
mkdir -p /opt/mall/elasticsearch/{plugins,data}
mkdir -p /opt/mall/logstash
mkdir -p /opt/mall/mongo/db
mkdir -p /opt/mall/minio/data

3.修改目录权限

chmod 777 /opt/mall/elasticsearch/data

4.配置nginx

4.1nginx.conf

cd /opt/mall/nginx/conf
vim nginx.conf

内容如下

user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  localhost;location / {root   /usr/share/nginx/html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}}
}

4.2mime.types

vim mime.types

内容如下


types {text/html                                        html htm shtml;text/css                                         css;text/xml                                         xml;image/gif                                        gif;image/jpeg                                       jpeg jpg;application/javascript                           js;application/atom+xml                             atom;application/rss+xml                              rss;text/mathml                                      mml;text/plain                                       txt;text/vnd.sun.j2me.app-descriptor                 jad;text/vnd.wap.wml                                 wml;text/x-component                                 htc;image/avif                                       avif;image/png                                        png;image/svg+xml                                    svg svgz;image/tiff                                       tif tiff;image/vnd.wap.wbmp                               wbmp;image/webp                                       webp;image/x-icon                                     ico;image/x-jng                                      jng;image/x-ms-bmp                                   bmp;font/woff                                        woff;font/woff2                                       woff2;application/java-archive                         jar war ear;application/json                                 json;application/mac-binhex40                         hqx;application/msword                               doc;application/pdf                                  pdf;application/postscript                           ps eps ai;application/rtf                                  rtf;application/vnd.apple.mpegurl                    m3u8;application/vnd.google-earth.kml+xml             kml;application/vnd.google-earth.kmz                 kmz;application/vnd.ms-excel                         xls;application/vnd.ms-fontobject                    eot;application/vnd.ms-powerpoint                    ppt;application/vnd.oasis.opendocument.graphics      odg;application/vnd.oasis.opendocument.presentation  odp;application/vnd.oasis.opendocument.spreadsheet   ods;application/vnd.oasis.opendocument.text          odt;application/vnd.openxmlformats-officedocument.presentationml.presentationpptx;application/vnd.openxmlformats-officedocument.spreadsheetml.sheetxlsx;application/vnd.openxmlformats-officedocument.wordprocessingml.documentdocx;application/vnd.wap.wmlc                         wmlc;application/wasm                                 wasm;application/x-7z-compressed                      7z;application/x-cocoa                              cco;application/x-java-archive-diff                  jardiff;application/x-java-jnlp-file                     jnlp;application/x-makeself                           run;application/x-perl                               pl pm;application/x-pilot                              prc pdb;application/x-rar-compressed                     rar;application/x-redhat-package-manager             rpm;application/x-sea                                sea;application/x-shockwave-flash                    swf;application/x-stuffit                            sit;application/x-tcl                                tcl tk;application/x-x509-ca-cert                       der pem crt;application/x-xpinstall                          xpi;application/xhtml+xml                            xhtml;application/xspf+xml                             xspf;application/zip                                  zip;application/octet-stream                         bin exe dll;application/octet-stream                         deb;application/octet-stream                         dmg;application/octet-stream                         iso img;application/octet-stream                         msi msp msm;audio/midi                                       mid midi kar;audio/mpeg                                       mp3;audio/ogg                                        ogg;audio/x-m4a                                      m4a;audio/x-realaudio                                ra;video/3gpp                                       3gpp 3gp;video/mp2t                                       ts;video/mp4                                        mp4;video/mpeg                                       mpeg mpg;video/quicktime                                  mov;video/webm                                       webm;video/x-flv                                      flv;video/x-m4v                                      m4v;video/x-mng                                      mng;video/x-ms-asf                                   asx asf;video/x-ms-wmv                                   wmv;video/x-msvideo                                  avi;
}

 

5.配置logstash

cd /opt/mall/logstash/vim logstash.conf

内容如下


input {tcp {mode => "server"host => "0.0.0.0"port => 4560codec => json_linestype => "debug"}tcp {mode => "server"host => "0.0.0.0"port => 4561codec => json_linestype => "error"}tcp {mode => "server"host => "0.0.0.0"port => 4562codec => json_linestype => "business"}tcp {mode => "server"host => "0.0.0.0"port => 4563codec => json_linestype => "record"}
}
filter{if [type] == "record" {mutate {remove_field => "port"remove_field => "host"remove_field => "@version"}json {source => "message"remove_field => ["message"]}}
}
output {elasticsearch {hosts => "192.168.168.110:9200"index => "mall-%{type}-%{+YYYY.MM.dd}"}
}

6.编写环境软件脚本

cd /opt/mall
vim docker-compose-env.yml

内容如下

version: '3'
services:mysql:image: mysql:5.7container_name: mysqlcommand: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_cirestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456 #设置root帐号密码ports:- 3306:3306volumes:- /opt/mall/mysql/data:/var/lib/mysql #数据文件挂载- /opt/mall/mysql/conf:/etc/mysql #配置文件挂载- /opt/mall/mysql/log:/var/log/mysql #日志文件挂载redis:image: redis:7container_name: rediscommand: redis-server --appendonly yesvolumes:- /opt/mall/redis/data:/data #数据文件挂载ports:- 6379:6379nginx:image: nginx:1.22container_name: nginxvolumes:- /opt/mall/nginx/conf:/etc/nginx #配置文件目录挂载- /opt/mall/nginx/html:/usr/share/nginx/html #静态资源根目录挂载- /opt/mall/nginx/logs:/var/log/nginx #日志文件挂载ports:- 80:80rabbitmq:image: rabbitmq:3.9-managementcontainer_name: rabbitmqvolumes:- /opt/mall/rabbitmq/data:/var/lib/rabbitmq #数据文件挂载ports:- 5672:5672- 15672:15672elasticsearch:image: elasticsearch:7.17.3container_name: elasticsearchenvironment:- "cluster.name=elasticsearch" #设置集群名称为elasticsearch- "discovery.type=single-node" #以单一节点模式启动- "ES_JAVA_OPTS=-Xms512m -Xmx1024m" #设置使用jvm内存大小volumes:- /opt/mall/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载- /opt/mall/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载ports:- 9200:9200- 9300:9300logstash:image: logstash:7.17.3container_name: logstashenvironment:- TZ=Asia/Shanghaivolumes:- /opt/mall/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf #挂载logstash的配置文件depends_on:- elasticsearch #kibana在elasticsearch启动之后再启动links:- elasticsearch:es #可以用es这个域名访问elasticsearch服务ports:- 4560:4560- 4561:4561- 4562:4562- 4563:4563kibana:image: kibana:7.17.3container_name: kibanalinks:- elasticsearch:es #可以用es这个域名访问elasticsearch服务depends_on:- elasticsearch #kibana在elasticsearch启动之后再启动environment:- "elasticsearch.hosts=http://es:9200" #设置访问elasticsearch的地址ports:- 5601:5601mongo:image: mongo:4container_name: mongovolumes:- /opt/mall/mongo/db:/data/db #数据文件挂载ports:- 27017:27017minio:image: minio/miniocontainer_name: miniocommand: server /data --console-address ":9001" #指定数据目录及console运行端口启动volumes:- /opt/mall/minio/data:/data #数据目录挂载environment:- "MINIO_ROOT_USER=minioadmin"- "MINIO_ROOT_PASSWORD=minioadmin"ports:- 9090:9000- 9001:9001

7.启动所有环境软件

docker-compose -f docker-compose-env.yml up -d

 

8.配置mysql

mkdir -p /opt/mall/mysql/backup

拷贝官方的数据库脚本

脚本名称:mall.sql

脚本内容

导入数据库脚本

#进入mysql容器
docker exec -it mysql /bin/bash
#连接到mysql服务
mysql -uroot -p123456 --default-character-set=utf8
#创建远程访问用户
grant all privileges on *.* to 'reader' @'%' identified by '123456';
#创建mall数据库
create database mall character set utf8;
#使用mall数据库
use mall;
#导入mall.sql脚本
source /mall.sql;

9.配置rabbitmq


rabbitmq
创建mall用户,账户/密码:mall/mall
创建一个新的虚拟host为:/mall
将新的虚拟host授予mall用户

安装应用

1.创建目录

mkdir -p /opt/mall/app/mall-admin/logs
mkdir -p /opt/mall/app/mall-search/logs
mkdir -p /opt/mall/app/mall-portal/logs

2.创建配置文件

/opt/mall/app
vim docker-compose-app.yml

内容如下

version: '3'
services:mall-admin:image: mall/mall-admin:1.0-SNAPSHOTcontainer_name: mall-adminports:- 10061:8080volumes:- /opt/mall/app/mall-admin/logs:/var/logs- /etc/localtime:/etc/localtimeenvironment:- 'TZ="Asia/Shanghai"'external_links:- mysql:db #可以用db这个域名访问mysql服务mall-search:image: mall/mall-search:1.0-SNAPSHOTcontainer_name: mall-searchports:- 10062:8081volumes:- /opt/mall/app/mall-search/logs:/var/logs- /etc/localtime:/etc/localtimeenvironment:- 'TZ="Asia/Shanghai"'external_links:- elasticsearch:es #可以用es这个域名访问elasticsearch服务- mysql:db #可以用db这个域名访问mysql服务mall-portal:image: mall/mall-portal:1.0-SNAPSHOTcontainer_name: mall-portalports:- 10063:8085volumes:- /opt/mall/app/mall-portal/logs:/var/logs- /etc/localtime:/etc/localtimeenvironment:- 'TZ="Asia/Shanghai"'external_links:- redis:redis #可以用redis这个域名访问redis服务- mongo:mongo #可以用mongo这个域名访问mongo服务- mysql:db #可以用db这个域名访问mysql服务- rabbitmq:rabbit #可以用rabbit这个域名访问rabbitmq服务

3.启动

docker compose -f docker-compose-app.yml up -d

这篇关于docker compose部署mall的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/694651

相关文章

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (