部署springboot多应用至docker

配置pom.xml

<dependencies>
......
</dependencies>
<!-- 引入部署插件 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!-- 添加主类名 -->
                <mainClass>com.star.ASLApplication</mainClass>
            </configuration>
            <!-- 多应用springboot系统必须添加 -->
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

打包jar包和Dockerfile

打包jar包和Dockerfile

编写Dockerfile,注意端口和jar包版本名称

FROM openjdk:8
ENV APP_PATH=/apps
WORKDIR $APP_PATH
COPY star-blog-2.0-SNAPSHOT.jar $APP_PATH/app.jar
EXPOSE 7777
ENTRYPOINT ["java", "-jar"]
CMD ["app.jar"]

将打包好的jar包和Dockerfile上传至服务器的home目录

将打包好的jar包和Dockerfile上传至服务器的home目录

进入xshell利用Dockerfile构建springboot应用镜像.png

进入xshell利用Dockerfile构建springboot应用镜像.png

[root@VM-12-6-centos ~]# cd /home/star-blog/images/admin/
[root@VM-12-6-centos admin]# docker build -t admin:1.0 .
↓
cd /home/star-blog/images/admin/
docker build -t admin:1.0 .

运行已经构建好的容器放开端口并加入旧服务的网桥

docker run -d -p 8888:8888 --name admin --network 71a3 admin:1.0

利用镜像启动admin容器并成功运行

利用镜像启动admin容器并成功运行

另一项springboot应用服务依法炮制即可

另一项springboot应用服务依法炮制即可

为了项目一体性,需要编写一个docker-compose.yml文件对容器进行统一部署

version: "3.9"

networks:
  blog-network:

services:
  mysql:
    image: mysql:5.7
    ports:
      - "3306:3306"
    volumes:
      - /home/mysql5.7/data:/var/lib/mysql
    environment:
      - "MYSQL_ROOT_PASSWORD=123456"
      - "MYSQL_DATABASE=blog"
    networks:
      - blog-network

  redis:
    image: redis:5.0.12
    ports:
      - "6379:6379"
    volumes:
      - /home/redis/redisdata:/data
    networks:
      - blog-network

  blog:
    image: blog:2.0
    ports:
      - "7777:7777"
    depends_on:
      - mysql
      - redis
    networks:
      - blog-network

  admin:
    image: admin:1.0
    ports:
      - "8888:8888"
    depends_on:
      - mysql
      - redis
    networks:
      - blog-network

  nginx:
    image: nginx:1.19.10
    ports:
      - "80:80"
    volumes:
      - ./dist:/usr/share/nginx/html:ro

  nginxAdmin:
    image: nginx:1.19.10
    ports:
      - "81:81"
    volumes:
      - ./distAdmin:/usr/share/nginx/html:ro

运行docker-compose.yml文件对容器进行统一部署

cd /home/star-blog
docker-compose up -d

运行docker-compose.yml文件对容器进行统一部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值