使用docker手动部署springboot项目

本文详细介绍了如何使用Docker从CentOS7镜像开始,逐步构建包含JDK和SpringBoot应用的容器镜像。首先,下载并使用CentOS7镜像,接着构建JDK镜像,最后在JDK镜像基础上构建SpringBoot应用镜像,实现容器化部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:我实现的思路是使用docker下载centos7的镜像,在centos7镜像的基础上使用Dockerfile构建jdk镜像,然后再次使用jdk镜像作为基础镜像构建springboot镜像,我这种方法可能比较笨,网上应该有现成的jdk镜像可以使用,但我最终成功了还是很开心的。这只是用来做练习的,后期使用mavendocker插件自动部署springboot项目应该会更方便

1.  下载centos7镜像

docker pull centos:7

2.  创建并启动容器

docker run ‐di ‐v /usr/local/myhtml:/usr/local/myhtml ‐‐name=mycentos
centos:7

3.  关闭centos7容器

docker stop mycentos

2,3步骤可以省略,我只是测试一下镜像是不是能正常使用

4. 编写Dockerfile,构建jdk镜像

4.1 在/usr/local下创建一个文件夹,将下载好的jdk移动到这个文件夹中

mkdir /usr/local/jdk8

4.2  进入目录中,创建一个名称为Dockerfile的文件

vi Dockerfile

  DockerFile的文件内容为

#依赖镜像名称和ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER Arrow
#切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk‐8u171‐linux‐x64.tar.gz /usr/local/java/
#配置java环境变量jdk1.8.0-171是jdk压缩包解压后的名称,根据自己的情况做修改
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH
$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

 4.3 执行命令,构建镜像

#jdk1.8是镜像的名称,'.'表示当前文件夹
docker build  -t='jdk1.8' .

4.4  查看镜像是否构建完成

docker images

5. 编写Dockerfile构建springboot镜像

5.1 在/usr/local/下创建一个目录

mkdir /usr/local/springboot

5.2  将一个springboot的jar包导入到该目录中

mv springboot.jar /usr/local/springboot

5.3  在该目录下创建Dockerfile的文件

vi Dockerfile
#jdk1.8是基础镜像的名称
FROM jdk1.8
ADD springboot.jar /
ENTRYPOINT ["java","-jar","/springboot.jar"]

5.4 执行命令,构建镜像

docker build -t='boot' .

5.5  查看镜像是否构建完成

docker images

5.6 构建并启动容器

docker run -di --name=bootserver -p 9999:8080 boot

name是指定容器的名称,p是端口映射,本地的9999映射容器的8080端口。

注意:我是将docker安装在虚拟机上的,我的数据库使用的是windows上的,如果你跟我一样,必须要保证虚拟机和你的电脑能ping通,而且要设置mysql允许远程访问,设置方法

use mysql
update user set host='%' where user='root';

如果想要ip写localhost,可能需要下载mysql镜像,并创建mysql容器。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值