docker-compose部署蓝眼云盘

docker-compose部署蓝眼云盘

一、环境准备安装docker、docker-compose

1、安装docker、docker-compose步骤省略
2、查看docker、docker-compose版本
[root@master ~]# docker -v
Docker version 20.10.5, build 55c4c88

[root@master ~]# docker-compose -v
docker-compose version 1.28.6, build 5db8d86f
image-20230324111236259
3、提前拉取镜像
(1)拉取MySql:5.7镜像
[root@master ~]# docker pull mysql:5.7

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d6AUu5cB-1679633665366)(C:\Users\Kubernetes Spring\AppData\Roaming\Typora\typora-user-images\image-20230324111708549.png)]

(2)拉取蓝眼云盘的镜像
[root@master ~]# docker pull eyeblue/tank:3.0.5

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gU9fg70v-1679633665368)(C:\Users\Kubernetes Spring\AppData\Roaming\Typora\typora-user-images\image-20230324112048258.png)]

4、构建自定义的Mysql镜像
#创建lanyan目录

[root@master ~]# mkdir lanyan
[root@master ~]# cd lanyan/

#编辑Dockerfile文件

[root@master lanyan]# vi Dockerfile 
[root@master lanyan]# cat Dockerfile 

#基于官方mysql:5.7镜像
FROM mysql:5.7
#作者
MAINTAINER lanyan-docker-compose
#配置数据库root用户密码
ENV MYSQL_ROOT_PASSWORD: tank123
#创建一个名为tank的数据库
ENV MYSQL_DATABASE: tank
#创建一个名为tank的用户
ENV MYSQL_USER: tank
#c配置用户密码
ENV MYSQL_PASSWORD: tank123
#开放3306端口
EXPOSE 3306

[root@master lanyan]# docker build -t lanyan-mysql:5.7 .

Sending build context to Docker daemon   5.12kB
Step 1/7 : FROM mysql:5.7
 ---> b6ee2207ee7a
Step 2/7 : MAINTAINER lanyan-docker-compose
 ---> Using cache
 ---> 737a49d0e30d
Step 3/7 : ENV MYSQL_ROOT_PASSWORD: tank123
 ---> Using cache
 ---> 0947d076c651
Step 4/7 : ENV MYSQL_DATABASE: tank
 ---> Using cache
 ---> 0c058f9687a5
Step 5/7 : ENV MYSQL_USER: tank
 ---> Using cache
 ---> c495d76887bf
Step 6/7 : ENV MYSQL_PASSWORD: tank123
 ---> Using cache
 ---> e2e4c83f84ad
Step 7/7 : EXPOSE 3306
 ---> Using cache
 ---> b2c7315d2ede
Successfully built b2c7315d2ede
Successfully tagged lanyan-mysql:5.7

#查看构建好的镜像
[root@master lanyan]# docker images | grep lanyan-mysql
lanyan-mysql              5.7              b2c7315d2ede   32 minutes ago   455MB
5、创建容器网络
# 创建自定义的容器网络 
# --driver指定了网络模式为bridge
# --gateway指定了网关为172.22.0.1 
# --subnet指定了子网为172.22.0.0/16
[root@master lanyan]# docker network create --driver bridge --subnet 172.22.0.0/16 --gateway 172.22.0.1 lanyan-net
dd941e5e029fb3124b17afb8fb7dfdee6ae4f7de97546f5012e881cdf9dc9156

[root@master lanyan]# docker network ls | grep lanyan
dd941e5e029f   lanyan-net                      bridge    local

查看一下名称叫lanyan-net的网络详情,如图所示

可以看到其中的子网是172.22.0.0/16,网关是172.22.0.1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VNezFQv6-1679633665368)(C:\Users\Kubernetes Spring\AppData\Roaming\Typora\typora-user-images\image-20230324122211518.png)]

6、编写docker-compose.yaml编排部署
#docker-compose版本,这里的3不要动
version: "3" 
services:
   # 数据库的镜像信息
   db: 
     # 使用自己构建的lanyan-mysql:5.7的镜像
     image: lanyan-mysql:5.7 
     # 数据库文件存放在宿主机的`~/data/mysql`位置,如果宿主机目录不存在,则会自动创建
     volumes: 
       - /var/lib/docker/data/mysql:/var/lib/mysql 
     # 如果启动失败,则总是会重启。因为镜像有依赖的情况,不停重启可以保证依赖项启动成功后自己再运行
     restart: always
     #指定容器加入到自定义的lanyan-net网络中
     networks:
       - lanyan-net
      #端口映射关系,宿主机端口:镜像端口
     ports:  
       - "3306:3306" 
   # 蓝眼云盘的镜像
   tank: 
     image: eyeblue/tank:3.0.5 
     #等待db(数据库容器)启动后再运行、连接
     depends_on:
       - db
     #端口映射关系,宿主机端口:镜像端口
     ports:  
       - "6010:6010"  
     # 如果启动失败,则总是会重启。因为镜像有依赖的情况,不停重启可以保证依赖项启动成功后自己再运行
     restart: always
     environment:  
       # mysql的端口
       TANK_MYSQL_PORT: 3306 
       # Mysql的主机,和services的第一个节点一致。
       TANK_MYSQL_HOST: db  
       # 数据库
       TANK_MYSQL_SCHEMA: tank  
       # 数据库的用户名
       TANK_MYSQL_USERNAME: tank  
       # 数据库的密码
       TANK_MYSQL_PASSWORD: tank123  
       # 超级管理员的昵称。只能是英文或数字
       TANK_ADMIN_USERNAME: admin 
       # 超级管理员邮箱,作为登录账号
       TANK_ADMIN_EMAIL: admin@tank.eyeblue.cn  
       # 超级管理员密码,作为登录密码
       TANK_ADMIN_PASSWORD: 123456
     #指定容器加入到自定义的lanyan-net网络中
     networks:
       - lanyan-net
     # 日志文件存放在宿主机的`~/data/tank/log`位置,如果宿主机目录不存在,则会自动创建
     volumes: 
     # 上传文件存放在宿主机的`~/data/tank/matter`位置,如果宿主机目录不存在,则会自动创建
       - /var/lib/docker/data/tank/log:/data/log 
       - /var/lib/docker/data/tank/matter:/data/matter
#声明容器加入到已经存在的网络
#name指定自定义的lanyan-net
networks:
  lanyan-net:
    external:
      name: lanyan-net
7、docker-compose编排启动
[root@master lanyan]# docker-compose up -d
Creating lanyan_db_1 ... done
Creating lanyan_tank_1 ... done

[root@master lanyan]# docker-compose ps 
    Name                  Command             State           Ports         
----------------------------------------------------------------------------
lanyan_db_1     docker-entrypoint.sh mysqld   Up      3306/tcp, 33060/tcp   
lanyan_tank_1   /data/build/tank              Up      0.0.0.0:6010->6010/tcp

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YGQItR5h-1679633665369)(C:\Users\Kubernetes Spring\AppData\Roaming\Typora\typora-user-images\image-20230324123630050.png)]

8、访问测试

在浏览器上访问http://ip:6010访问系统,会要求输入数据库连接地址,按docker-compose.yml配置的地址写入即可,host:db,database:tank,user:tank,password:tank123,可自行修改。然后安装提示,点击按钮创建库,及管理员账号即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E0k3BPli-1679633665369)(C:\Users\Kubernetes Spring\AppData\Roaming\Typora\typora-user-images\image-20230324123831499.png)]

8、访问测试

在浏览器上访问http://ip:6010访问系统,会要求输入数据库连接地址,按docker-compose.yml配置的地址写入即可,host:db,database:tank,user:tank,password:tank123,可自行修改。然后安装提示,点击按钮创建库,及管理员账号即可。

[外链图片转存中…(img-E0k3BPli-1679633665369)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

跑不完的脚本

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

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

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

打赏作者

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

抵扣说明:

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

余额充值