1.安装nacos
1.docker-compose.yml
version: "3"
services:
nacos:
image: nacos/nacos-server:1.3.1
container_name: nacos-standalone-mysql
env_file:
- ./nacos-standlone-mysql.env
volumes:
- ./standalone-logs/:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8848:8848"
- "9848:9848"
- "9555:9555"
restart: on-failure
2.创建挂载文件
mkdir standalone-logs
mkdir init.d
3.nacos-standlone-mysql.env
PREFER_HOST_MODE=hostname
MODE=standalone
#此处配置nacos的持久化方式为mysql
SPRING_DATASOURCE_PLATFORM=mysql
#这处使用上面查询到的mysql在容器内部ip地址
MYSQL_SERVICE_HOST=119.91.140.73
MYSQL_SERVICE_DB_NAME=nacos
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=root
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
4.custom.properties
management.endpoints.web.exposure.include=*
2.安装redis
docker run -d --name redis -p 6379:6379 redis --requirepass "root"
3.安装rabbitmq
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
4.安装nginx
docker run -d -p 80:80 -v /soft/nginx/:/etc/nginx --name nginx nginx:latest
5.安装mysql5.6
新建文件和文件夹
mkdir -p /soft/mysql/conf
mkdir -p /soft/mysql/data
mkdir -p /soft/mysql/logs
touch /soft/mysql/logs/error.log
在conf下创建my.cnf文件
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
max_allowed_packet = 100M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
创建docker-compose.yml
version: '3.7'
services:
mysql:
container_name: mysql_server #启动容器的名称
restart: always #在容器退出时总是重启容器
image: mysql:5.6 #镜像版本
ports:
- 3306:3306
volumes: #挂载目录
- /soft/mysql/conf:/etc/mysql/conf.d
- /soft/mysql/conf:/etc/mysql/mysql.conf.d
- /soft/mysql/data:/var/lib/mysql
- /soft/mysql/logs/error.log:/var/log/mysql/error.log
environment: #环境变量
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: db
MYSQL_USER: mysql
MYSQL_PASSWORD: mysql
6.安装xxl-job-admin
version: "3"
services:
xxl-job:
image: xuxueli/xxl-job-admin:2.3.0
container_name: xxl-job-admin
ports:
- "8080:8080"
environment:
PARAMS: "--spring.datasource.url=jdbc:mysql://10.0.8.13:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \
--spring.datasource.username=root \
--spring.datasource.password=root"
volumes:
- /tmp:/data/applogs