数据库安装及配置
约 854 字大约 3 分钟
2024-08-19
MySQL安装
# 查询mysql镜像
docker search mysql
# 拉取最新版mysql镜像
docker pull mysql
# 创建mysql实例,指定映射目录(映射路径和版本有关系,不通版本不一样,先通过第一行命令场景成功后进入命令行插件配置文件)、端口、root密码.
docker run -itd -p 3306:3306 --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=123456 \
-h mysql_server \
-v /etc/mysql:/etc/mysql \
-v /var/lib/mysql-files:/var/lib/mysql-files \
-v /var/lib/mysql:/var/lib/mysql \
mysql \
--lower-case-table-names=1 # 表名称不区分大小写
# 运行mysql 命令行,授权远程访问,新建用户并授权。
docker exec -it mysql bash
mysql>mysql -uroot -p123456
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'root@123';
msyql>create user 'dev'@'%' IDENTIFIED BY 'dev@123';
msyql>grant all privileges on *.* to dev@'%';
Redis 安装
# 查询redis镜像
docker search redis
# 拉去最新版redis
docker pull redis
# 创建redis实例,无本地存储,无配置文件
docker run --restart=always -p 6379:6379 --name redis -h redis_server \
-d redis --requirepass redis@123
# 进入命令行
docker exec -it redis bash
redis_server> redis-cli
# 添加配置文件和数据存储,将redis.conf文件放在/etc/redis/redis.conf, 根据需要添加配置,全量添加会有问题
# 下载 https://gitee.com/crushlxb/myredis/blob/master/redis.conf
docker run --restart=always -p 6379:6379 --name redis -h redis_server \
-v /etc/redis/redis.conf:/etc/redis/redis.conf \
-v /var/local/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf
Mariadb 安装
# 查询redis镜像
docker search mariadb
# 拉取最新的mariadb
docker pull mariadb
# 创建挂在目录
mkdir -p /var/lib/mysql
mkdir -p /var/log/mysql
mkdir -p /etc/mysql
# 创建一个临时实例
docker run --name mariadb -h mariadb --env MARIADB_ROOT_PASSWORD=root@123 -d mariadb
# 拷贝配置文件
docker cp mariadb:/etc/mysql/mariadb.conf.d /etc/mysql/mariadb.conf.d
# 删除临时实例
docker rm mariadb
# 创建Mariadb实例
docker run --restart=always -p 3306:3306 --name mariadb -h mariadb \
-v /var/lib/mysql:/var/lib/mysql \
-v /var/log/mysql:/var/log/mysql \
-v /etc/mysql/mariadb.conf.d:/etc/mysql/mariadb.conf.d \
--env MARIADB_ROOT_PASSWORD=root@123 \
-d mariadb
# 查看默认时区
SHOW GLOBAL VARIABLES LIKE '%time_zone%';
select now() # 查看时间
# 修改默认时区,编辑50-server.cnf文件,在mysqld 配置中添加如下代码
default_time_zone = 'Asia/Shanghai'
# 查看表名称大小写配置,默认是0,区分大小写
SHOW GLOBAL VARIABLES LIKE '%lower_case_table_name%';
# 修改默认时区,编辑50-server.cnf文件,在mysqld 配置中添加如下代码
lower_case_table_name = 1
Mongo 安装
# 查询rabbitmq镜像
docker search mongo
# 拉取进行
docker pull mongo
# 创建实例
docker run -d --name mongodb -h mongo -p 27017:27017 --restart=always \
-v /var/lib/mongodb/data:/data/db \
-v /var/lib/mongodb/log:/data/log \
-e MONGO_INITDB_DATABASE=admin \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin@123 \
mongo --auth
# 进入容器
docker exec -it mongodb /bin/sh
# 进入mongo shell
mongo
# 创建超级用户
use admin
db.createUser({user:'admin',pwd:'admin@123',roles:[{role:'root', db:'admin'}]})
# 创建读写权限的用户
use yapi
db.createUser({user: "yapi", pwd: "yapi@123", roles: [{role:"readWrite",db:"yapi"}]})
PostgreSQL 安装
docker pull postgres
docker run -d -h postgres -p 5432:5432 --name postgresDB --restart=always \
-e POSTGRES_PASSWORD=root@123 \
-e POSTGRES_USER=root \
-e POSTGRES_DB=gdb \
-v /var/lib/postgres/postgres.conf:/etc/postgresql/postgresql.conf \
-v /var/lib/postgres/data:/var/lib/postgresql/data \
postgres \
-c "config_file=/etc/postgresql/postgresql.conf"
RabbitMQ 安装
# 查询rabbitmq镜像
docker pull rabbitmq
# 运行rabbitmq
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 -h rmq --restart=always rabbitmq
# 进入命令行
docker exec -it rabbitmq bash
# 添加插件
>rabbitmq-plugins enable rabbitmq_management
# 访问 http://127.0.0.1:15672/ 默认用户名密码: guest, 可通过一下参数配置登录用户信息
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 -h rmq \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \
--restart=always rabbitmq
Kdaiyu自建工具
# webbox 工具:node、npm、pnpm、yapi、pm2
docker run -itd -u root -h web -p 8400-8500:8400-8500 --name webbox \
--add-host=iserver.cn:192.168.2.50 \
--restart=always \
kdaiyu/webbox
# devbox 开发工具集:jenkins、node、java
docker run -d -uroot -p 8080:8080 -p 50000:50000 -h dbx --name devbox \
--restart=always \
--add-host=iserver.cn:192.168.2.50 --add-host=tx.cn:124.220.91.218 \
-v /var/jenkins:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
kdaiyu/devbox