spring boot项目基于docker 部署在Centos 服务

spring boot项目基于docker 部署在Centos 服务



前言

提示:这里是用虚拟机搭建的Centos服务器
服务器我搭建了一个塔Linux面板 方便安装tomcat、MySQL、
docker等开发环境。

一、安装MySQL 、tomcat、docker以及 Linux面板7.4.5

如果在面板安装则非常简单, 动动手指就可以;可以看官网文档;

如果想手动输入命令安装可以参考一下文章:

1、Centsor 安装tomcat 、MySQL 、docker 的步骤

2、maven 包的安装

1.下载maven 压缩包
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
2.解压
tar zxf apache-maven-3.1.1-bin.tar.gz

3.修改配置文件
export M2_HOME=/usr/local/maven3 你的路径
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin:$M2_HOME/bin
在这里插入图片描述
在这里插入图片描述

//使其生效
source /etc/profile
//查看是否安装完成,显示版本,路径则说明正常完成;如图:
mvn -version
在这里插入图片描述

docker 的部署

centos8默认使用podman代替docker,所以需要containerd.io.
安装containerd.io
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
1
安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
//启动docker
systemctl start docker
//添加开机启动
systemctl enable docker

	1.uname -r
	2.yum list installed | grep docker
	3.yum -y remove docker-ce.x86_64 19.03.13.ce-1.el7.centos @docker-ce-stable
	4.sudo yum update
	5.sudo yum install -y yum-utils device-mapper-persistent-data lvm2
	6.sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
	7.yum list docker-ce --showduplicates | sort -r
	8.sudo yum install docker-ce-18.06.3.ce
	9.sudo systemctl start docker
	10.docker version
	11.mvn package docker:build
	12.docket ps       docker ps  -a
	13.mvn package
	14.mvn clean package docker:build
	15.docker images
	16.docker build -t demo .
	17.docker run -p 8080:8080 -t demo/demo 
	18.docker stop 78c74103f079

	Centos 8 的命令
	19.dnf -y install epel-release  
	20.dnf clean all
	30.dnf makecache
	31.dnf repolist

	
	更换阿里云开源镜像
	https://mirrors.aliyun.com/repo/
	下载CentOS-Base.repo 到/etc/yum.repos.d/
	cd   /etc/yum.repos.d/
	wget https://mirrors.aliyun.com/repo/Centos-8.repo

二、项目的部署

1.在项目配置好docker部署环境

1、pox.mxl


  	<properties>
        <java.version>1.8</java.version>
        <docker.image.prefix>demo</docker.image.prefix>
 	</properties>


 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- Docker maven plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
            <!-- Docker maven plugin -->
        </plugins>

    </build>

在项目的src\main\docker 创建一个Dockerfile 文件

FROM primetoninc/jdk:1.8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器
ADD demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 配置容器启动后执行的命令
ENTRYPOINT  ["java","-server","-jar","/app.jar"]

2.打包部

先clean ->在打包 -》package
在这里插入图片描述
然后将项目上传到自己的虚拟机上
在这里插入图片描述
然后在Xshell 进入cd/ opt/demo 的目录
执行 : mvn package docker:build --打包,第一次打包会久一点;
通过 docker images 查看是否打包成功;
在这里插入图片描述
进行在后台运行: docker run -it -p 7080:7080 -t demo/demo /bin/bash
Ctrl + P + Q 退出容器保持后台运行(按住ctrl和P 再按Q),再用 docker ps 进行查看: exit可以直接退出容器;
在这里插入图片描述
这样就成功咯:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值