将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打包方式如下:
然后将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工具进行上传文件
2.4使用命令将jar文件弄成docker镜像文件(注意一定要先进到存放jar和docker镜像配置文件所在的文件夹下,用下面的镜像生成命令才有效!镜像生成之后,使用其他命令没有该限制,比如像查看镜像命令docker images)
docker build -t test:v1.0 .
2.5使用命令查看生成的docker镜像文件
docker images
2.6运行该镜像文件命令docker run -d -p <宿主机端口>:<镜像端口> test:v1.0
docker run -d -p 8080:8080 test:v1.0
3.删除docker容器操作(容器即进程)
3.1先停止所有的docker容器docker stop $(docker ps -a -q)
docker stop $(docker ps -a -q)
3.2查看所有正在运行的容器信息
docker ps
3.3查看所有容器
docker ps -a
3.4查看所有容器id
docker ps -a -q
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
4.2删除镜像docker rmi -f 要删除的镜像id(以删除我刚创建的test 版本v1.0镜像为例)先用docker images查看镜像id(也就是IMAGE ID列的对应数据)
docker rmi -f 081c2bb99f17
4.3删除所有镜像
docker rmi $(docker images -q)
4.4根据格式删除所有镜像
docker rm $(docker ps -qf status=exited)