docker常用组件安装

environment:

两台服务器:
本地服务器(local):centos7
具备公网ip 的云服务(cloud)centos7
通过内网穿透给两服务器创建一个网络通道
使用工具openvpn或frps,推荐openvpn,frps不知为何会占用很大的资源

(一)本地服务器环境

1 安装docker

1.1 卸载旧版本,如果之前安装过

yum remove docker  docker-common docker-selinux docker-engine

1.2 安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

1.3 设置 yum 源

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

1.4 下载

(1)查看可用的版本

yum list docker-ce --showduplicates | sort -r

(2)选择一个版本并安装:yum install docker-ce-版本号

#都可以 建议第二
yum -y install docker-ce
yum install -y docker-ce docker-ce-cli containerd.io

1.5 配置镜像源

vim /etc/docker/daemon.json
# 粘贴以下内容
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

1.6 开启docker、设置开启自启

systemctl start docker
systemctl enable docker

2 docker运行组件

2.1 mysql

1、查看mysql版本

docker search mysql

2、下载mysql镜像(docker pull mysql:版本号)

docker pull mysql:8.0.18

完成后通过 docker images 检查一下镜像是否下载成功

3、启动mysql容器

docker run -d -p 3306:3306 --name mysql \
-v /path/mysql/log:/var/log/mysql \		#将日志文件夹挂载到主机
-v /path/mysql/data:/var/lib/mysql \		#将配置文件夹挂载到主机
-v /path/mysql/conf:/etc/mysql \			#将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=password \
mysql:8.0.18

docker run -p 3306:3306  \
--name mysql \
--privileged=true \
-v /path/mysql/log:/var/log/mysql \
-v /path/mysql/data:/var/lib/mysql \
-v /path/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=cclucky \
-d mysql:8.0.18

参数说明:

  • -d:以后台的方式运行;
  • --name mysql:指定容器的名称为 mysql;
  • -p 3306:3306 :将容器的 3306 端口挂载到宿主机的 3306 端口上;
  • -e MYSQL_ROOT_PASSWORD=1234:指定 root 的密码为 1234

命令执行完成后,通过docker ps 命令来确认是否启动成功

4、配置mysql文件

打开my.cnf

vi /path/mysql/conf/my.cnf

复制以下内容:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]

port=3306
datadir = /path/mysql/data
default-storage-engine=INNODB

init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve 
default-time-zone = '+08:00'

5、重启mysql容器

docker restart mysql

6、用户创建与授权

# 进入数据库容器
docker exec -it mysql /bin/bash
# 进入mysql终端
mysql -uroot -p[密码]
# 创建用户
create user '[username]'@'[host]' identified by '[密码]';		#[host]为'%'时代表允许所有ip
# 授权
grant all on `[database_name]`.`[table_name]` to [username];
# *.* 所有数据库的所有表
# `[database_name]`.* 该数据库下的所有表

# 指定前缀的库授权
# 给所有`db_`为前缀的库授权
grant all on `db_%`.* to [username];

# 删除权限
revoke all on `[database_name]`.`[table_name]` from [username];

# 刷新权限表
flush privileges;

2.2 redis

1、拉取redis镜像

docker search redis
docker pull redis

2、确认镜像是否下载成功

docker images

3、创建redis.conf文件

mkdir -p /path/redis/conf
touch /path/redis/conf/redis.conf

4、运行redis容器

docker run -p 6379:6379 --name redis \
-v /path/redis/data:/data \
-v /path/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

参数说明:

  • -d: 指定容器后台运行;
  • --name: 指定容器名称为 redis;
  • -p 6379:6379: 将容器的 6379 端口映射到宿主机的 6379 端口;

5、检查redis容器是否运行成功

docker ps

6、持久化

添加redis.conf文件

#创建文件
touch /path/redis/conf/redis.conf
#进入修改
vi /path/redis/conf/redis.conf

复制以下内容到文件

appendonly yes

7、连接redis容器

docker run -it redis redis-cli -h 172.17.0.1

2.3 rabbitmq

docker pull rabbitmq:management //下载RabbitMQ镜像
docker run --name rabbit --restart=always -p 15672:15672 -p 5672:5672  -d  rabbitmq:management   //启动RabbitMQ,默认guest用户,密码也是guest。

2.4 Es

给关了,不启用,占用内存太大了

2.5 MaxWell

docker pull zendesk/maxwell //下载MaxWell镜像
docker run --name maxwell --restart=always  -d  zendesk/maxwell bin/maxwell  --user='数据库用户名' --password='数据库密码'  --host='IP地址'  --producer=rabbitmq --rabbitmq_user='MQ用户名' --rabbitmq_pass='MQ密码' --rabbitmq_host='IP地址' --rabbitmq_port='5672' --rabbitmq_exchange='maxwell_exchange'  --rabbitmq_exchange_type='fanout' --rabbitmq_exchange_durable='true' --filter='exclude: *.*, include: aurora.t_article.article_title = *, include: aurora.t_article.article_content = *, include: aurora.t_article.is_delete = *, include: aurora.t_article.status = *' //运行MaxWell

这个我也没启用

2.6 minio

这个真的很好用

docker pull minio/minio
docker run  -p 9000:9000 -p 9090:9090 --name minio \
 -d --restart=always \
 -e MINIO_ACCESS_KEY=minio \
 -e MINIO_SECRET_KEY=minio@123 \
 -v /path/minio/data:/data \
 -v /path/minio/config:/root/.minio \
  minio/minio server /data  --console-address ":9000" --address ":9090"		# 前端默认启动 console-address,后者的时文件访问接口

根据自己的信息修改aurora-springboot中的yml文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值