docker菜谱大全

在这里插入图片描述

记录docker常用软件安装,感谢小马哥和杨师傅的投稿。😎😎😎

相关文档:

  • DockerHub:https://hub.docker.com/
  • Linux手册:https://linuxcool.com/
  • Docker文档:https://docs.docker.com/
  • Docker中文网:https://www.docker.org.cn/
  • 菜鸟教程:https://www.runoob.com/?s=docker
  • how2j:https://how2j.cn/k/docker/docker-docker/2005.html
  • 阿里镜像源:https://cr.console.aliyun.com
  • DaoCloud:https://www.daocloud.io/mirror#accelerator-doc

1. Redis


dockerhub:https://hub.docker.com/_/redis

1、下载redis镜像:

docker pull redis:6.2.8 
docker pull redis:7.0.4

2、启动容器:(方式1:简单粗暴)

docker run --name redis -p 6379:6379 -d redis:6.2.8 redis-server --appendonly yes

3、启动容器:(方式2:开启AOF持久化、设置密码、挂载数据卷、开机自启)

docker run --name redis -p 6379:6379 -v redis-data:/data --restart=always -d redis:7.0.4 redis-server --appendonly yes --requirepass "admin123"
  • --name redis:容器名称
  • -p 6379:6379:端口映射,访问redis的端口
  • -d:以后台模式运行容器
  • redis:7.0.4:redis镜像
  • redis-server:启动redis服务器
  • --restart=always:开机自启
  • --appendonly yes:开启AOF持久化模式,将写操作追加到文件末尾
  • -v redis-data:/data:挂载数据卷 (开启AOF持久化后,生成的aof文件放入容器的/data目录中)
  • --requirepass "admin123":设置密码

进入容器操作redis:

# 以命令行交互方式进入redis容器
docker exec -it redis bash

# 使用客户端连接redis服务器 (带密码方式)
redis-cli -a admin123

image-20230808101018631

查看data目录下的aof文件:

image-20230808101452793

扩展:

# 删除所有dokcer容器 (包括正在运行的和已停止的容器)
docker rm -f $(docker ps -qa)

4、启动容器:(方式3:使用redis配置文件启动)


2. MariaDB


MySQL数据库在被Oracle公司收购后,从开源软件转变成为了“闭源”软件。MariaDB是MySQL的一个分支版本,可以作为对MySQL的替代选择,MariaDB在这个背景下迅速崛起并获得了广泛的市场认可和采用。

MariaDB也是由MySQL的创始人Michael Widenius开发的,它保持了与MySQL高度兼容的特性,因此可以无缝地迁移现有的MySQL应用程序到MariaDB上。同时,MariaDB还提供了一些新的功能和改进,以提供更好的性能、安全性和可扩展性。

img

1、下载mariadb镜像:

docker pull mariadb:10.1.21 

2、创建目录:(让宿主机持久化mariadb容器的数据、配置和日志文件)

mkdir -p /var/mariadb/{logs,conf,data}

3、在虚拟机 /var/mariadb/conf 目录下,创建hmy.conf文件:

vim /var/mariadb/conf/hmy.cnf
[mysqld]
skip-name-resolve
character_set_server=utf8 
datadir=/var/lib/mysql
  • skip-name-resolve 禁用dns解析。
  • character_set_server=utf8 设置字符集。
  • datadir=/var/lib/mysql 容器内部存数据的位置

4、启动容器:

docker run -d \
--name mariadb \
--restart=always \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=admin \
-v /var/mariadb/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /var/mariadb/db:/var/lib/mysql \
-v /var/mariadb/logs:/var/log/mysql \
-p 3307:3306 \
mariadb:10.1.21 

image-20230808191241734

4、使用可视化工具连接mariadb:

image-20230808191954231

image-20230808192021262


3. MongoDB


1、下载镜像:

docker pull mongo:4.4

2、启动容器:

docker run -d \
--name mongodb \
-p 27017:27017 \
--restart=always \
-v mongodb:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=sa \
-e MONGO_INITDB_ROOT_PASSWORD=123321 \
mongo:4.4
  • MongoDB默认端口:27017
  • 数据挂载到/var/lib/docker/volumes/mongodb
  • 开启认证,用户名:sa,密码:123321

进入容器操作:

# 进入mongodb容器
docker exec -it mongodb /bin/bash
# 进行身份认证,使用数据库admin下的sa账号登陆
mongo -u "sa" -p "123321" --authenticationDatabase "admin"

4. Nginx


1、下载镜像:

docker pull nginx:1.22.1

2、创建目录:(配置文件从自己电脑复制一份即可)

mkdir -p /mydocker/nginx/{html,conf,logs}

3、把本地nginx.conf配置文件和网页文件分别上传到虚拟机的/mydocker/nginx/conf/mydocker/nginx/html目录中。

image-20230809104855060

4、启动容器:

docker run -p 82:80 --name nginx \
-v /mydocker/nginx/html:/usr/share/nginx/html \
-v /mydocker/nginx/logs:/var/log/nginx \
-v /mydocker/nginx/conf:/etc/nginx \
-d nginx:1.22.1 

5、浏览器访问:http://ip:82


5. MinIO


1、下载镜像:

 下载新版minio
docker pull minio/minio

# 下载指定版本的minio
docker pull minio/minio:RELEASE.2021-04-06T23-11-00Z  

2、启动容器:

# 默认版本启动
docker run -p 9000:9000 -d \
--name minio \
--restart=always
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /mydocker/minio/data:/data \
-v /mydocker/minio/config:/root/.minio \
minio/minio server /data 

-------------------------------------------------------
-------------------------------------------------------

# 指定镜像版本启动
docker run -p 9000:9000 -d \
--name minio \
--restart=always
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /mydocker/minio/data:/data \
-v /mydocker/minio/config:/root/.minio \
minio/minio:RELEASE.2021-04-06T23-11-00Z server /data 
  • -p 9000:9000:端口映射,用于访问MinIO服务。
  • -d:以后台模式运行容器。
  • --name minio:指定容器的名称为"minio"。
  • --restart=always:设置容器总是在启动时自动重启。
  • -e "MINIO_ACCESS_KEY=minioadmin":设置MinIO的账号。
  • -e "MINIO_SECRET_KEY=minioadmin":设置MinIO的密钥。
  • -v /mydocker/minio/data:/data:挂载MinIO的数据目录。
  • -v /mydocker/minio/config:/root/.minio:挂载MinIO的配置目录。
  • minio/minio server /data:运行MinIO服务器,并将数据存储在容器内的/data目录中。

6. Nacos


1、下载nacos镜像:

docker pull nacos/nacos-server:1.2.0 

2、启动容器:(使用单节点模式以及内嵌数据库的方式)

docker run -d \
--name nacos \
-p 8848:8848 \
--restart=always \
-e MODE=standalone \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
nacos/nacos-server:1.2.0
  • -p 8848:8848:端口映射,用于访问Nacos服务。
  • -env MODE=standalone:指定Nacos以独立模式运行(单机环境)。
  • -e JVM_XMS=256m:设置JVM的初始堆内存大小为256MB。
  • -e JVM_XMX=256m:设置JVM的最大堆内存大小为256MB。
  • 访问地址:http://ip:8848/nacos/

3、查看容器日志:

docker logs -f nacos

img

管理页面访问地址:http://ip:8848/nacos


7. RabbitMQ


1、下载镜像:

docker pull rabbitmq:3.8-management

2、启动容器:

docker run -di \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123456 \
-v mq-plugins:/plugins \
--name rabbitmq \
--hostname my-rabbit \
-p 15672:15672 \
-p 5672:5672 \
--restart=always \
rabbitmq:3.8-management
  • -di:以交互模式和后台模式运行容器。

  • -e RABBITMQ_DEFAULT_USER=admin-e RABBITMQ_DEFAULT_PASS=123456:设置RabbitMQ的用户名和密码。

  • -v mq-plugins:/plugins:挂载rabbitmq插件的数据卷。

  • --name rabbitmq:设置容器名称为rabbitmq

  • --hostname my-rabbit:设置容器的主机名为my-rabbit。

  • -p 15672:15672 :用于web管理页面使用的端口 (管理员页面)

  • -p 5672:5672 :用于生产和消费端使用的端口(通信端口,也就是在代码里要使用的)

  • rabbitmq:3.8-management:使用RabbitMQ官方镜像版本3.8以及带有管理界面的插件来运行容器。

  • web管理页面:http://ip:15672/

扩展:启动xxx插件(后面会用到这个命令)

# 进入容器
docker exec -it rabbitmq /bin/bash

# 启动xxx插件
rabbitmq-plugins enable [xxx插件]
12345

8. Gogs


轻量级git代码管理工具,占用系统资源比较少,功能虽然不多,可以满足日常需求。

在这里插入图片描述
dokcer部署脚步:

docker run -d \
--name=gogs \
-p 10022:22 \
-p 10880:3000 \
-v gogs-data:/data \
--restart=always \
-e TZ=Asia/Shanghai \
gogs/gogs:0.12
  • 访问地址:http://ip:10880

9. 可视化工具(Portainer)


docker run -d -p 9001:9000 \
--name prtainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
--privileged=true \
portainer/portainer

访问地址:http://ip:9001

① 创建账号:

设置登录密码,长度最少8位,方便记忆我就设置成admin123456啦。

img

② 选择管理本地docker环境

img

③ 进入docker管理面板:

img

img


10. ES、Kibana


安装教程:https://blog.csdn.net/qq_46921028/article/details/131929519


11. Kafka


1、下载zookeeper和kafka镜像:

docker pull zookeeper:3.4.14
docker pull wurstmeister/kafka:2.12-2.3.1

2、启动zookeeper容器:

docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14

在这里插入图片描述

然后使用 docker logs -f zookeeper查看启动日志,如下图出现2181端口表示zookeeper服务已经成功启动了:

在这里插入图片描述

3、启动kafka容器:

docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.200.130 \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.200.130:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.200.130:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_HEAP_OPTS="-Xmx256M -Xms256M" \
--net=host wurstmeister/kafka:2.12-2.3.1

参数介绍:

  • KAFKA_ADVERTISED_HOST_NAME:设置当前主机ip地址;(如果是云主机使用公网ip地址)
  • KAFKA_ZOOKEEPER_CONNECT:zookeeper的连接地址;
  • KAFKA_ADVERTISED_LISTENERS:kafka发布到zookeeper,供客户端使用的服务地址。
  • KAFKA_LISTENERS:允许使用PLAINTEXT侦听器;(kafka对外监听的端口)
  • KAFKA_HEAP_OPTS:限制内存的使用,用于性能调优;
  • –net=host:使用宿主机的和端口。(如果是云主机的话此处使用-p 9092:9092指定端口)

容器启动顺序:先启动zookeeper,再启动kafka。

docker start zookeeper
docker start kafka

12. MySQL


简单安装:

docker pull mysql:5.7
docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 --character-set-server=utf8

完整安装:

1、下载MySQL镜像:

docker pull mysql:5.7

2、创建目录(存mysql数据和配置文件)

mkdir -p /var/mysql/data
mkdir -p /var/mysql/conf

3、在虚拟机/var/mysql/conf目录下,创建hmy.conf文件:

[mysqld]
skip-name-resolve
character_set_server=utf8 
datadir=/var/lib/mysql
  • skip-name-resolve 禁用dns解析。
  • character_set_server=utf8 设置字符集。
  • datadir=/var/lib/mysql 容器内部存数据的目录

4、启动mysql容器:

docker run -d \
--name mysql1 \
--restart=always \
-e MYSQL_ROOT_PASSWORD=root \
-e TZ=Asia/Shanghai \
-p 3306:3306 \
-v /var/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /var/mysql/data:/var/lib/mysql \
mysql:5.7
  • -p 3306:3306 端口映射。
  • -e MYSQL_ROOT_PASSWORD=root ,密码设置为root。
  • -e TZ=Asia/Shanghai 设置时区。
  • –restart=always 开机容器自启。
  • -v /var/mysql/data:/var/lib/mysql 挂载数据存储位置。
  • -v /var/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf 挂载配置文件。
  • -d 后台运行。

13. Oracle11g


1、下载镜像:(一个大佬打包的镜像,比官网版好用些)

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2、启动镜像:

docker run -d \
--name oracle11g  \
-e JAVA_OPTS="-Xms256m -Xmx256m" \
-p 1521:1521 \
--privileged=true \
--restart=always \
-v /var/oracle:/data/oracle \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

image-20230809210720976

3、进oracle容器,切换root账户:

# 进入容器
docker exec -it oracle11g bash

# 切换成root账户,密码为:helowin
su root

image-20230809210942866

4、配置oralce环境变量:

vi /etc/profile
# 将光标移动到底部G,然后按o另起一行,复制以下内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

image-20230809212140243

:wq 保存退出。

让环境变量重新生效:

source /etc/profile

5、创建软连接:

# 创建软链接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

6、切换到oracle用户:

su - oracle

image-20230809212907941

7、oracle相关操作:

登录sqlplus:

# 启动SQLPlus命令行工具,但不进行任何数据库连接
qlplus /nolog

# 使用SYSDBA(系统管理员)身份连接到数据库
conn /as sysdba

image-20230809213855791

修改sys、system用户的密码:

# 修改system用户的密码为system
alter user system identified by system;
# 修改sys用户的密码为sys
alter user sys identified by system;

# 修改密码规则策略为密码永不过期
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;

# exit; 退出sql命令行

image-20230809214629660
开启scott用户:(示例用户,提供了一些表和数据)

# 解锁scott用户(默认情况下,该用户是被禁用的,需要超级管理员权限才能执行解锁操作)
alter user scott account unlock;

# 解锁scott用户的密码 (也可以用于重置用户密码)
alter user scott identified by tiger;

8、查看oracle实例状态:

lsnrctl status

image-20230809215010188

9、使用可视化工具连接Oracle数据库:

  • 服务名:helowin

  • 用户名/密码:scott/tiger

image-20230810005849167

image-20230810010101488

在这里插入图片描述

14. 构建sentinel-dashboard控制台镜像


1、创建目录,用于存放sentinel-dashboard的jar包和Dockerfile:

mkdir -p /test/sentinel
cd /test/sentinel

2、下载jar包,并上传到虚拟机的/test/sentinel目录:(本身也是一个springboot程序)

下载地址:https://github.com/alibaba/Sentinel/releases/tag/1.8.6

image-20230921001906722
在这里插入图片描述
3、编写Dockerfile文件(自定义镜像)

vim /test/sentinel/Dockerfile

内容如下:

# 基于java:8-alpine作为基础镜像
FROM java:8-alpine

# 挂载的docker卷,将目录中的文件挂载到容器内部/tmp目录
VOLUME /tmp

# 前者是要操作的jar包  后者自定义jar包名
ADD *.jar sentinel-dashboard.jar

# 定义时区参数
ENV TZ=Asia/Shanghai

# 设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone

# 入口,配置启动命令, -D表示设置JVM参数, -Dcsp.sentinel.dashboard.server表示Sentinel控制台的访问地址(虚拟机或服务器ip地址),被监控的客户端会自动向该地址发送心跳包。
ENTRYPOINT ["java","-jar","-Dserver.port=8090","-Dcsp.sentinel.dashboard.server=填写虚拟机或服务器的ip地址:8090","-Dproject.name=sentinel-dashboard","/sentinel-dashboard.jar"]

4、构建镜像:(要保证Dockerfile和jar包在同一个目录下)

在这里插入图片描述

执行构建镜像命令:

# sentinel-server表示镜像名称
docker build -t sentinel-server .
  • sentinel-server: 表示构建的镜像名称。
  • .: 表示使用当前目录下的Dockerfile构建。

在这里插入图片描述
5、启动镜像:

docker run \
--name sentinel-server \
-p 8090:8090 \
--restart=always \
--privileged=true \
-d sentinel-server

访问地址:http://ip:8090,默认账号和密码都是sentinel。
在这里插入图片描述

15. xxl-job(分布式任务调度平台)


1、下载镜像:

docker pull xuxueli/xxl-job-admin:2.3.0

2、导入数据库脚本:

#来源:https://gitee.com/xuxueli0323/xxl-job/blob/2.3.0/doc/db/tables_xxl_job.sql
#
# XXL-JOB v2.4.0-SNAPSHOT
# Copyright (c) 2015-present, xuxueli.

CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_unicode_ci;
use `xxl_job`;

SET NAMES utf8mb4;

CREATE TABLE `xxl_job_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job_group` int(11) NOT NULL COMMENT '执行器主键ID',
  `job_desc` varchar(255) NOT NULL,
  `add_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  `author` varchar(64) DEFAULT NULL COMMENT '作者',
  `alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件',
  `schedule_type` varchar(50) NOT NULL DEFAULT 'NONE' COMMENT '调度类型',
  `schedule_conf` varchar(128) DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型',
  `misfire_strategy` varchar(50) NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略',
  `executor_route_strategy` varchar(50) DEFAULT NULL COMMENT '执行器路由策略',
  `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
  `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数',
  `executor_block_strategy` varchar(50) DEFAULT NULL COMMENT '阻塞处理策略',
  `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒',
  `executor_fail_retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '失败重试次数',
  `glue_type` varchar(50) NOT NULL COMMENT 'GLUE类型',
  `glue_source` mediumtext COMMENT 'GLUE源代码',
  `glue_remark` varchar(128) DEFAULT NULL COMMENT 'GLUE备注',
  `glue_updatetime` datetime DEFAULT NULL COMMENT 'GLUE更新时间',
  `child_jobid` varchar(255) DEFAULT NULL COMMENT '子任务ID,多个逗号分隔',
  `trigger_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '调度状态:0-停止,1-运行',
  `trigger_last_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '上次调度时间',
  `trigger_next_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '下次调度时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `xxl_job_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `job_group` int(11) NOT NULL COMMENT '执行器主键ID',
  `job_id` int(11) NOT NULL COMMENT '任务,主键ID',
  `executor_address` varchar(255) DEFAULT NULL COMMENT '执行器地址,本次执行的地址',
  `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
  `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数',
  `executor_sharding_param` varchar(20) DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2',
  `executor_fail_retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '失败重试次数',
  `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间',
  `trigger_code` int(11) NOT NULL COMMENT '调度-结果',
  `trigger_msg` text COMMENT '调度-日志',
  `handle_time` datetime DEFAULT NULL COMMENT '执行-时间',
  `handle_code` int(11) NOT NULL COMMENT '执行-状态',
  `handle_msg` text COMMENT '执行-日志',
  `alarm_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败',
  PRIMARY KEY (`id`),
  KEY `I_trigger_time` (`trigger_time`),
  KEY `I_handle_code` (`handle_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `xxl_job_log_report` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `trigger_day` datetime DEFAULT NULL COMMENT '调度-时间',
  `running_count` int(11) NOT NULL DEFAULT '0' COMMENT '运行中-日志数量',
  `suc_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量',
  `fail_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量',
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `xxl_job_logglue` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job_id` int(11) NOT NULL COMMENT '任务,主键ID',
  `glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型',
  `glue_source` mediumtext COMMENT 'GLUE源代码',
  `glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注',
  `add_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `xxl_job_registry` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `registry_group` varchar(50) NOT NULL,
  `registry_key` varchar(255) NOT NULL,
  `registry_value` varchar(255) NOT NULL,
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `xxl_job_group` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `app_name` varchar(64) NOT NULL COMMENT '执行器AppName',
  `title` varchar(12) NOT NULL COMMENT '执行器名称',
  `address_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行器地址类型:0=自动注册、1=手动录入',
  `address_list` text COMMENT '执行器地址列表,多地址逗号分隔',
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `xxl_job_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL COMMENT '账号',
  `password` varchar(50) NOT NULL COMMENT '密码',
  `role` tinyint(4) NOT NULL COMMENT '角色:0-普通用户、1-管理员',
  `permission` varchar(255) DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割',
  PRIMARY KEY (`id`),
  UNIQUE KEY `i_username` (`username`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `xxl_job_lock` (
  `lock_name` varchar(50) NOT NULL COMMENT '锁名称',
  PRIMARY KEY (`lock_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `xxl_job_group`(`id`, `app_name`, `title`, `address_type`, `address_list`, `update_time`) VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, '2018-11-03 22:21:31' );
INSERT INTO `xxl_job_info`(`id`, `job_group`, `job_desc`, `add_time`, `update_time`, `author`, `alarm_email`, `schedule_type`, `schedule_conf`, `misfire_strategy`, `executor_route_strategy`, `executor_handler`, `executor_param`, `executor_block_strategy`, `executor_timeout`, `executor_fail_retry_count`, `glue_type`, `glue_source`, `glue_remark`, `glue_updatetime`, `child_jobid`) VALUES (1, 1, '测试任务1', '2018-11-03 22:21:31', '2018-11-03 22:21:31', 'XXL', '', 'CRON', '0 0 0 * * ? *', 'DO_NOTHING', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', '');
INSERT INTO `xxl_job_user`(`id`, `username`, `password`, `role`, `permission`) VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
INSERT INTO `xxl_job_lock` ( `lock_name`) VALUES ( 'schedule_lock');

commit;

在这里插入图片描述

3、启动容器:(需要依赖mysql数据库,如果使用的不是本地数据库,自行修改ip)

docker run -d \
  -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 \
  --spring.datasource.username=root \
  --spring.datasource.password=123" \
  --restart=always \
  -p 28080:8080 \
  -v xxl-job-admin-applogs:/data/applogs \
  --name xxl-job-admin \
  xuxueli/xxl-job-admin:2.3.0
  • 端口映射:28080
  • 挂载日志数据卷位置:/var/lib/docker/volumes/xxl-job-admin-applogs
  • 通过PARAMS环境变量设置数据库连接参数

4、xxl-job管理界面访问地址:http://ip:28080/xxl-admin-job,默认账号admin、密码123456。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白豆五

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值