Docker小白搭建xxl-job,mysql的过程日志

搭建xxl-job,mysql的过程日志

Docker特性与命令

Docker-Desktop安装

因为是Windows环境,安装的教程很多,主要就是启动Hyper-V的组件,然后安装WSL

安装WSL,首先执行命令wsl --set-defualt-version 2,将wsl的默认版本设置version2,然后执行命令wsl --update --web-download,然后下载docker-desktop,选择CPU对应架构的安装包,并进行安装。安装docker如果想指定安装目录可以使用命令行安装,start /w ""

"Docker Desktop Installer.exe" install --installation-dir=D:\Docker
对于Docker安装与命令可参看视频

一般常用的命令:

  1. docker pull
  2. docker --version
  3. docker info | Select-String "Docker Root Dir"
  4. docker images
  5. docker rmi < DockerID >
  6. docker ps 解释ps即Process status
  7. docker run
  8. docker start < DockerID >
  9. docker stop < DockerID >
  10. docker compose up -f < file.yaml > -d
  11. docker compose down -f < file.yaml >
  12. docker rm < DockerID >
  13. docker volume inspect < DockerID >
  14. docker network list
    其中docker run的重要参数-d detached后台运行;-p 宿主机端口:容器内的端口;-v 即挂载券

Docker的镜像站,在Docker-Setting-Docker Engine中增加配置

"registry-mirrors": [

"https://docker.1ms.run",

"https://docker.xuanyuan.me",

"https://docker.1ms.run",

"https://docker.m.daocloud.io",

"https://docker.1panel.live",

"https://mirror.ccs.tencentyun.com",

"http://mirrors.ustc.edu.cn",

"https://docker.chenby.cn"

]

docker-compose.yaml是一个轻量级docker编辑框架,可以将多个docker启动并且放在一个子网中。

MySql的Docker安装与启动

  1. 访问https://hub.docker.com/,可以查看有哪些docker镜像
  2. docker pull mysql:5.7 可以指定版本号,也可以用latested
  3. docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=your_password -e MYSQL_DATABASE=mydb -e MYSQL_USER=mydb_user -e MYSQL_PASSWORD=123456 --publish 3306:3306 -v D:/dockers/xxljob:/var/lib/mysql -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci, 其中通过volume挂载将本地的目录与mysql的目录映射
  4. 将命令改写成docker-compose.yaml文件如下:
yaml 复制代码
version: '5.7'
services:
  db:
    image: mysql:5.7
    container_name: mysql-server
    volumes:
      - mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: your_password
      MYSQL_DATABASE: mydb
      MYSQL_USER: admin
      MYSQL_PASSWORD: 123456
    ports:
      - "3306:3306"

volumes:
  mysql-data:
    driver: local
    driver_opts:
      o: bind
      type: none
      device: D:/dockers/mysql_db

参考mysql docker 安装

XXL-JOB的Docker安装与启动

  1. 通过docker pull xuxueli/xxl-job-admin:3.3.1,拉取Docker Image

  2. 通过git获取xxl-job的代码,git clone https://gitee.com/xuxueli0323/xxl-job.git, 并找到\xxl-job\doc\db的db目录下的tables_xxl_job.sql,创建xxl_job的数据库。创建时请用root的用户名登录,然后建一个专用用户

    CREATE USER xxl_job@'%';
    ALTER USER xxl_job@'%' IDENTIFIED BY '123456789';

    用户授权

    -- 给用户 userName 授予数据库(db001)的 SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 权限
    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON xxl_job.* TO xxl_job@'%' IDENTIFIED BY '123456789'; -- mysql 5.x
    -- GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON xxl_job.* TO xxl_job@'%' WITH GRANT OPTION; -- mysql 8.x

    FLUSH PRIVILEGES;

  3. 启动Docker:docker run --name xxl-job-admin -e PARAMS="--spring.datasource.url=jdbc:mysql://172.29.160.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=xxl_job --spring.datasource.password=123456789 --server.port=8080 --server.servlet.context-path=/xxl-job-admin" -p 8080:8080 -d xuxueli/xxl-job-admin:3.3.1

  4. 启动后访问http://127.0.0.1:8080/xxl-job-admin,默认账号:amdin 密码:123456
    参考xxl-job docker启动

遇到的一些问题

1、总是想找docker-desktop-data的文件,但是输入\\wsl$,就只能看到docker-desktop,找了很多资料初步分析是高版本的docker-desktop就没有data这个目录了。因为没有docker-desktop-data的stop的状态;后来不纠结了,因为只要文件是放在docker->Setting->Resources->Disk Image Location下就行。因为这个目录无法直接访问,所以无法直接查看Image

2、数据库sql文件的执行,通过dbever的sql直接执行还没有找到正确的方法,需要优化。

相关推荐
何以不说话1 小时前
mysql 的主从复制
运维·数据库·学习·mysql
吉吉611 小时前
Docker拉取镜像解决办法
运维·docker·容器
橘子132 小时前
MySQL库的操作(二)
数据库·mysql·oracle
·云扬·3 小时前
MySQL各版本核心特性演进与主流分支深度解析
数据库·sql·mysql
lpfasd1233 小时前
springcloud docker 部署问题排查与解决方案
spring·spring cloud·docker
宋情写3 小时前
docker-compose安装Redis
redis·docker·容器
田超凡4 小时前
深入理解MySQL_6 Temporary临时表
mysql·java-ee
lisanmengmeng4 小时前
cephfs 在k8s挂载文档
云原生·容器·kubernetes
尽兴-5 小时前
MySQL 8.0主从复制原理与实战深度解析
数据库·mysql·主从复制
装不满的克莱因瓶5 小时前
【2026最新 架构环境安装篇三】Docker安装RabbitMQ4.x详细教程
linux·运维·docker·容器·架构·rabbitmq