1.准备好docker.tar.gz压缩包
2.使用tar解压这个压缩包
解压之后的目录下有所有需要预先准备的文件以及docker-compose.yaml文件,docker-compose.yaml文件内容如下:
name: devsoft
services:
mysql:
image: mysql:8.0.24
restart: always
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=root
ports:
- "3306:3306"
volumes:
- /home/docker/mysql/log:/var/log/mysql
- /home/docker/mysql/data:/var/lib/mysql
- /home/docker/mysql/conf:/etc/mysql/conf.d
- /home/docker/mysql/init:/docker-entrypoint-initdb.d
- /etc/localtime:/etc/localtime:ro
redis:
image: redis:7.2.5
restart: always
container_name: redis
ports:
- "6379:6379"
command: redis-server --appendonly yes --requirepass redis
volumes:
- /home/docker/redis/data:/data
- /etc/localtime:/etc/localtime:ro
nginx:
image: nginx:1.27
container_name: nginx
ports:
- "80:80"
volumes:
- /home/docker/nginx/html:/usr/share/nginx/html
- /home/docker/nginx/logs:/var/log/nginx
- /home/docker/nginx/conf:/etc/nginx
- /etc/localtime:/etc/localtime:ro
rabbit:
image: rabbitmq:3.13.6
container_name: rabbitmq
ports:
- "5672:5672"
- "15672:15672"
volumes:
- /home/docker/rabbitmq/data:/var/lib/rabbitmq
- /etc/localtime:/etc/localtime:ro
elasticsearch:
image: elasticsearch:7.17.5
container_name: elasticsearch
privileged: true
ports:
- "9200:9200"
- "9300:9300"
environment:
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms256m -Xmx512m"
volumes:
- /home/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins
- /home/docker/elasticsearch/data:/usr/share/elasticsearch/data
- /home/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /etc/localtime:/etc/localtime:ro
logstash:
image: logstash:7.17.5
container_name: logstash
privileged: true
depends_on:
- elasticsearch
deploy:
resources:
limits:
memory: 1000m
ports:
- "9600:9600"
- "9413:9413"
environment:
- "ES_JAVA_OPTS=-Duser.timezone=Asia/Shanghai"
volumes:
- /home/docker/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
- /home/docker/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
- /etc/localtime:/etc/localtime:ro
kibana:
image: kibana:7.17.5
container_name: kibana
depends_on:
- elasticsearch
ports:
- "5601:5601"
volumes:
- /home/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
- /etc/localtime:/etc/localtime:ro
mongo:
image: mongo:6.0.17
container_name: mongo
command: --auth
ports:
- "27017:27017"
volumes:
- /home/docker/mongo/db:/data/db
- /etc/localtime:/etc/localtime:ro
nacos:
image: nacos/nacos-server:v2.1.1
container_name: nacos
depends_on:
- mysql
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
environment:
- MODE=standalone
- JVM_XMS=256m
- JVM_XMX=256m
volumes:
- /home/docker/nacos/conf/application.properties:/home/nacos/conf/application.properties
- /etc/localtime:/etc/localtime:ro
sentinel:
image: bladex/sentinel-dashboard:1.8.5
container_name: sentinel
ports:
- "8858:8858"
seata:
image: seataio/seata-server:1.5.2
container_name: seata
depends_on:
- mysql
ports:
- "8091:8091"
- "7091:7091"
volumes:
- /home/docker/seata/resources/application.yml:/seata-server/resources/application.yml
- /etc/localtime:/etc/localtime:ro
minio:
image: minio/minio
container_name: minio
privileged: true
command: server --console-address ":9000" --address ":9001" /data
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=admin123
volumes:
- /home/docker/minio/data:/data
- /home/docker/minio/config:/root/.minio
- /etc/localtime:/etc/localtime:ro
kingbase:
image: kingbase_v008r006c008b0014_single_x86:v1
container_name: kingbase
command: /usr/sbin/init
environment:
- NEED_START=yes
- ENABLE_CI=yes
- DB_USER=kingbase
- DB_PASSWORD=123456
- DB_MODE=mysql
- ENCODING=utf8
ports:
- "54321:54321"
privileged: true
volumes:
- /home/docker/kingbase/data:/home/kingbase/userdata
- /etc/localtime:/etc/localtime:ro
dm8:
image: dm8_single:dm8_20240715_rev232765_x86_rh6_64
container_name: dm8
privileged: true
environment:
- CASE_SENSITIVE=0
- UNICODE_FLAG=1
- LENGTH_IN_CHAR=1
- PAGE_SIZE=16
- LD_LIBRARY_PATH=/opt/dmdbms/bin
- INSTANCE_NAME=dm8
ports:
- "5236:5236"
volumes:
- /home/docker/dm/data:/opt/dmdbms/data
- /etc/localtime:/etc/localtime:ro
ruoyi-cloud:
image: ruoyi-cloud:v1.0
container_name: ruoyi-cloud
privileged: true
depends_on:
- nacos
- mysql
ports:
- "8080:8080"
- "9100:9100"
volumes:
- /home/docker/jdk8/logs:/opt/jars/logs
启动jar包的start.sh脚本的内容如下:
#!/bin/bash
# 设置要搜索的目录
JAR_DIR="/opt/jars"
# 遍历目录中的所有jar文件
for jar in "$JAR_DIR"/*.jar
do
if [ -f "$jar" ]; then
# 运行jar包,指定UTF-8编码,后台运行,不输出日志
nohup java -Dfile.encoding=UTF-8 -jar "$jar" >/dev/null 2>&1 &
# 输出正在运行的jar包的路径
echo "正在运行: $jar"
fi
done
echo "所有JAR包已在后台启动。"
tail -f /dev/null
3.执行docker-compose.yaml文件
docker compose -f docker-compose.yaml up -d
4.等待所有容器都启动之后在浏览器中测试若依