Docker部署Springboot项目(CentOS)

1.下载docker并设置自启动

yum下载docker

yum install -y docker-ce

下载完之后可以使用docker -version查看版本,如果出现版本号则下载成功:
image.png
也可以通过宝塔等软件自行启动docker管理器验证

systemctl start docker.service
systemctl enable docker.service

如果启动docker报错 AttributeError: ‘NoneType‘ object has no attribute xxxx,可以尝试上面的命令。

2.下载maven并配置环境变量

访问maven官网:https://maven.apache.org/download.cgi
下载压缩包,下载第一个就行,后缀为tar.gz的
image.png

mkdir /usr/local/maven(先创建maven文件夹)
cd /usr/loacl/maven(进入文件夹)

再把上传到服务器上,这里我用的Xftp,可以自行抉择
解压

tar -zxvf apache-maven-3.9.3-bin.tar.gz

添加阿里云镜像,修改/usr/local/maven/apache-maven-3.9.3/conf目录下的settings.xml,在mirrors节点下添加

<mirror> 
<id>aliyun-maven</id> 
<mirrorOf>*</mirrorOf> 
<name>aliyun maven</name> 
<url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

配置环境变量
打开环境变量vim /etc/profile,添加如下内容:(vim不可用可以用vi),i键编辑

MAVEN_HOME=/usr/local/maven/apache-maven-3.9.3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

保存并重启

:wq(vim中的保存并退出)
source /etc/profile

mvn -v来验证,出现下图代表成功
image.png
注:如果没有JAVA环境,可能会报错,安装Java环境就ok

3.将spring boot项目打包

这里说明使用idea打包,其余的方式可以自行搜索
点开右上角的maven标识
image.png
此时经过maven的编译打包,即可在我们项目路径的target目录下生成不包含依赖的项目jar包。
image.png

4.编写Dockerfile文件

新建一个名为Dockerfile的文件,注意没有后缀名

# 镜像java版本,你可以看着项目里的pom.xml文件确定
FROM openjdk:17
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD demo-0.0.1-SNAPSHOT.jar app.jar 
EXPOSE 8080
# 容器启动命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ,注意:这里的包名要和pom文件中的包名一致,后面的app,jar可以自己取

5.docker!启动!

将SpringBoot的jar包和Dockerfile文件一起放在linux系统下任意一个目录下
比如:
image.png
在这个文件夹目录下执行以下命令,将生成镜像

docker build . -t app   注意app是前面自己起的名字

查看镜像

docker images

启动docker

docker run -d --name app8080 -p 8080:8080 app

这时已经启动了,可以用下面的命令来看springboot的日志

docker logs 镜像名

附:docker常用命令

启动docker
systemctl start docker

关闭docker
systemctl stop docker 

重启docker
systemctl restart docker 

设置docker开机自启动
systemctl enable docker

查看docker运行状态
systemctl status docker 

查看docker镜像列表
docker  images

拉取镜像
docker pull 镜像名 (pull最新版本)
docker pull 镜像名:tag (tag为版本号)

删除一个镜像
docker rmi -f 镜像名/镜像ID

删除多个镜像 其镜像ID或镜像用用空格隔开即可 
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID

强制删除
docker image rm 镜像名称/镜像ID

查看正在运行的容器
docker  ps

查看所有容器包括正在运行和停掉的容器 
docker  ps  -a

运行一个容器
# -it 表示与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行)  --name 给要运行的容器 起的名字  /bin/bash  交互路径
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash  
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是使用 Jenkins 和 Docker 进行 CentOS 部署 Spring Boot 项目的详细步骤和命令: 1. 在 CentOS 中安装 DockerDocker Compose ```bash # 安装 Docker sudo yum update sudo yum install docker # 安装 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 2. 在 CentOS 中拉取 Docker 镜像 ```bash # 从 Docker 仓库中拉取镜像 sudo docker pull your-docker-registry/image-name:tag ``` 3. 在 CentOS 中运行 Spring Boot 镜像 ```bash # 运行 Spring Boot 镜像 sudo docker run -d -p 8080:8080 your-docker-registry/image-name:tag # 如果你的 Spring Boot 应用需要使用数据库,你需要为其配置一个数据库服务。你可以使用 Docker Compose 来管理容器编排。 # 在服务器上创建一个文件夹来存储 Docker Compose 配置文件 mkdir ~/docker-compose # 在该文件夹中创建一个 docker-compose.yml 文件 nano ~/docker-compose/docker-compose.yml # 编辑该文件并添加以下内容: version: "3" services: app: image: your-docker-registry/image-name:tag ports: - "8080:8080" db: image: postgres environment: POSTGRES_USER: your-db-user POSTGRES_PASSWORD: your-db-password POSTGRES_DB: your-db-name # 启动 Docker Compose cd ~/docker-compose sudo docker-compose up -d # 如果你需要停止 Docker Compose sudo docker-compose down ``` 4. 在 Jenkins 中配置 Maven 插件和 Docker 插件 - 在 Jenkins 中安装 Maven 插件和 Docker 插件。 - 在 Jenkins 中配置 Docker 插件,确保 Jenkins 可以与 Docker 交互。 5. 在 Jenkins 中创建一个新的构建项目 - 在 Jenkins 中创建一个新的 Maven 项目,并配置 Git 代码库以获取源代码。 - 在构建项目中配置 Maven 构建步骤,构建出可执行的 Spring Boot jar 包。 - 在构建项目中添加一个后置操作步骤,使用 Docker 插件进行 Docker 镜像的构建。你需要为 Docker 镜像指定一个名称和标签,并指定构建上下文。 - 在构建项目中添加另一个后置操作步骤,使用 Docker 插件将构建好的镜像推送到 Docker 仓库中。 6. 在目标服务器上使用 Docker 运行 Spring Boot 镜像 - 在目标服务器上拉取构建好的 Spring Boot 镜像。 - 在目标服务器上使用 Docker 运行 Spring Boot 镜像,你可以使用 Docker Compose 或 Docker Stack 进行容器编排和管理。 以上是使用 Jenkins 和 Docker 进行 CentOS 部署 Spring Boot 项目的详细步骤和命令,希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值