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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值