将springboot项目打成docker包以及docker中常见操作


文章目录

  • 将springboot项目打成docker包以及docker中常见操作
  • 1.docker镜像生成大概思路
  • 2.docker镜像生成操作
  • 3.删除docker容器操作(容器即进程)
  • 4.删除docker镜像操作(镜像即文件)


1.docker镜像生成大概思路

先将项目打成jar包,然后再写一个docker镜像配置文件,然后将jar和配置文件放到linux系统中同一个文件夹下,然后在该文件夹下操作命令。

2.docker镜像生成操作

2.1将项目打成jar包

我创建了一个非常简单的springboot项目,使用非常常用的jar打包方式如下:

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_jar


然后将jar文件重命名为test.jar(我感觉那个jar文件名太长了就重命名了)

2.2创建一个文本文件,我这里是Dockerfile.txt,内容如下

# 设置本镜像需要使用的基础镜像
FROM  java:8  
  
# 把jar包添加到镜像中
ADD test.jar /app.jar
 
# 镜像暴露的端口,这里注意设置不常用的端口防止出现端口被占用
EXPOSE 8080
 
RUN bash -c 'touch /app.jar'
  
# 容器启动命令
ENTRYPOINT ["java","-jar","/app.jar"]
 
# 设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

然后将Dockerfile.txt重命名为Dockerfile,也就是把后缀给删了。

2.3将jar文件和docker镜像配置文件弄到linux的同一个目录下,我这里linux是远端服务器,就直接使用xftp工具进行上传文件

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_配置文件_02

2.4使用命令将jar文件弄成docker镜像文件(注意一定要先进到存放jar和docker镜像配置文件所在的文件夹下,用下面的镜像生成命令才有效!镜像生成之后,使用其他命令没有该限制,比如像查看镜像命令docker images

docker build -t test:v1.0 .

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_jar_03

2.5使用命令查看生成的docker镜像文件

docker images

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_配置文件_04

2.6运行该镜像文件命令docker run -d -p <宿主机端口>:<镜像端口> test:v1.0

docker run -d -p 8080:8080 test:v1.0

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_docker_05

3.删除docker容器操作(容器即进程)

3.1先停止所有的docker容器docker stop $(docker ps -a -q)

docker stop $(docker ps -a -q)

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_java_06

3.2查看所有正在运行的容器信息

docker ps

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_docker_07

3.3查看所有容器

docker ps -a

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_jar_08


3.4查看所有容器id

docker ps -a -q

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_配置文件_09

3.5启动所有容器

docker start $(docker ps -a -q)

3.6停止所有容器

docker stop $(docker ps -a -q)

3.7删除所有容器

docker rm $(docker ps -a -q)

4.删除docker镜像操作(镜像即文件)

4.1查看所有的镜像信息

docker images

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_docker_10

4.2删除镜像docker rmi -f 要删除的镜像id(以删除我刚创建的test 版本v1.0镜像为例)先用docker images查看镜像id(也就是IMAGE ID列的对应数据)

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_jar_11

docker rmi -f 081c2bb99f17

SPRINGBOOT打包DOCKER镜像 连不上github springboot项目打包成docker镜像_java_12


4.3删除所有镜像

docker rmi $(docker images -q)

4.4根据格式删除所有镜像

docker rm $(docker ps -qf status=exited)