Docker-compose+Swarm部署mysql+redis+springboot

环境安装

docker安装
yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker- ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
#开机启动 
systemctl enable docker 
#启动 
systemctl start docker 

测试安装

#查看Docker状态 
docker info

在这里插入图片描述

Swarm安装
#拉取镜像 
docker pull swarm

测试安装

#查看版本 
docker run --rm swarm -v 

swarm version 1.2.9 (527a849)

docker-compose安装

运行以下命令以下载Docker Compose的当前稳定版本:

curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker- compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件

chmod +x /usr/local/bin/docker-compose

添加到环境中

#ln -s : 软链接 
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试安装

docker-compose --version

在这里插入图片描述

拉取镜像

mysql镜像
docker pull mysql:5.7.30
redis镜像
docker pull redis:5.0.9
spring boot应用镜像

对要发布的spring boot应用打镜像
上传jar包,并编写dockerfile
在这里插入图片描述

dockerfile-app:

FROM java:8
MAINTAINER nico <nico@gmail.com>
VOLUME /tmp
ADD Hot.jar Hot.jar
RUN bash -c 'touch /Hot.jar'
ENTRYPOINT ["java","-jar","/Hot.jar"]
打镜像
docker build -f dockerfile-app -t lgedu/hot:1.0 .
查看镜像仓库
docker images

在这里插入图片描述

Swarm集群搭建

机器A:加入manager

docker swarm init --advertise-addr 当前机器A_ip

#加入manager
docker swarm join-token manager

机器B:加入worker

#根据机器A生成的
docker swarm join --token SWMTKN-1- 60etl768pzoibxuqlpeuyyp73jjwwknbc2yvl23217y60md3123g13xeb 172.16.xx.xx:2377
#查看节点信息 
docker node ls

在这里插入图片描述

docker-compose配置

docker-compose.yml

version: "3.0"
services:

  mysql:
    image: mysql:5.7.30
    ports:
      - 3306:3306
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --default-time-zone=+8:00
    environment:
      MYSQL_ROOT_PASSWORD: "root" 
    volumes:
      - "/docker/mysql/db:/var/lib/mysql"
	deploy: 
	  mode: replicated 
	  replicas: 2
  redis:
    image: redis:5.0.9
    environment:
      - TZ=Asia/beijing
    ports:
      - 6379:6379
    volumes:
      - /docker/redis/data:/data
	deploy: 
	  mode: replicated 
	  replicas: 2
  lgedu:
    image: lgedu/hot:1.0
    ports:
      - 8081:8081	
	deploy: 
	  mode: replicated 
	  replicas: 2

	  

启动

docker stack deploy -c docker-compose.yml web

查看服务

docker stack services web

在这里插入图片描述
完成测试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值