Git拉取项目 Docker部署SpringCloud

{% qnimg Git拉取项目-Docker部署SpringCloud/1.png %}

从0开始,使用dockerfile将项目打包上传到服务器

以开源项目若依Cloud为例子

项目地址:https://github.com/zhangmrit/ruoyi-cloud

docker安装以及远程访问配置

1.安装依赖包:

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

2.安装Docker-CE

$ sudo yum install docker-ce

3.配置docker远程访问

$ vim /usr/lib/systemd/system/docker.service

4.找到下面这一行:
在这里插入图片描述

修改为:

# 如果有不一样的,直接在 /usr/bin/dockerd 后面加上即可
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

5.重新读取配置文件

$ systemctl daemon-reload

6.启动docker服务

# 重启docker
$ systemctl restart docker

# 开机启动
$ sudo systemctl enable docker 

# 启动docker
$ sudo systemctl start docker

测试访问 http://ip-address:2375/version 如果有数据则配置成功

docker-compse安装

依次执行:

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
$ docker-compose --version

clone项目

clone项目到本地或使用IDEA直接拉取:

$ git clone https://github.com/zhangmrit/ruoyi-cloud.git

请阅读README,其中说明了启动顺序:

  • eureka
  • config
  • gateway
  • system
  • auth

就以前3个为例子,后面的依瓢画葫芦即可

修改yml

其他模块请修改Eureka的地址:

server:
  port: 7001

eureka:
  instance:
    hostname: chongma-eureka #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      #单机
      #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      #defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

pom文件增加plugin

在需要启动的模块里添加

       <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.14</version>
                <configuration>
                    <!-- 镜像名称 -->
                    <imageName>${project.artifactId}</imageName>
                    <!-- Dockerfile文件所在目录 -->
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <!-- docker所在宿主机ip 2375为docker开启的远程访问端口 -->
                    <dockerHost>http://ip-address:2375</dockerHost>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

dockerfile

如下图,新建文件夹docker并创建Dockerfile文件

在这里插入图片描述

文件内容:

# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器,chongma-eureka-1.0.1-SNAPSHOT.jar这里是maven打包后的名字
ADD chongma-eureka-1.0.1-SNAPSHOT.jar chongma-eureka.jar
RUN bash -c 'touch /chongma-eureka.jar'
# 配置容器启动后执行的命令
ENTRYPOINT  ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/chongma-eureka.jar"]

其他的文件照着修改打包名即可

maven打包

首先在IDEA右侧栏点开Maven,选中ruoyi-cloud(root),执行install

然后新建maven命令:

clean package docker:build -DskipTests

在这里插入图片描述
在这里插入图片描述

依次创建好3个模块的maven,最后执行

远程连接服务器,执行

$ docker images

在这里插入图片描述

编写docker-compose

任意目录执行:

$ vim docker-compose.yml

其他模块的照着写即可:

version: '3'
services:
  eureka-server:              #自定义服务名--注册中心
    restart: on-failure
    image: chongma-eureka         #镜像名称
    ports:
      - "7001:7001"            #映射的端口
    environment:               #环境变量
      SERVER_PORT: "7001"      #自定义参数用于给服务的配置文件传递参数

  config:                      #自定义服务名--配置中心
    image: chongma-config      #镜像名称  
    ports:
      - "8888:8888"            #映射的端口
    environment:               #环境变量配置
      REGISTER_URL: "http://ip-address:7001/eureka/" 
      SERVER_PORT: "8888"

  gateway:                      #自定义服务名
    image: chongma-gateway      #镜像名称  
    ports:
      - "9527:9527"            #映射的端口
    environment:               #环境变量配置
      REGISTER_URL: "http://ip-address:7001/eureka/" 
      SERVER_PORT: "9527"

保存,执行命令:

$ docker-compose -f docker-compose.yml up -d

在这里插入图片描述

访问Eureka服务器,成功

在这里插入图片描述


其他命令:

停止docker-compose(停止项目):

$ docker-compose -f docker-compose.yml down

查看运行的容器日志:

$ docker logs -f -t --tail 行数 容器名

建议将镜像上传至阿里云,更安全。config配置中心用的是search-locations,部署上去后会读不到配置,建议改用Nacos

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值