Docker - 创建并运行一个docker(springboot)容器
1、首先,你要有一个docker环境:
# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-75.git8633870.el7_5.x86_64
Go version: go1.9.2
Git commit: 8633870/1.13.1
Built: Wed Sep 12 10:56:54 2018
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-75.git8633870.el7_5.x86_64
Go version: go1.9.2
Git commit: 8633870/1.13.1
Built: Wed Sep 12 10:56:54 2018
OS/Arch: linux/amd64
Experimental: false
2、使用spring-boot简单写一个http接口(供测试),并打成一个常规的jar,待用;
demo-0.0.1-SNAPSHOT.jar(配置文件放在项目内部resources/下)
3、编写Dockerfile文件,如下:
# Docker image for springboot file run
# VERSION 0.0.1
# Author: Springboot Docker
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER Springboot Docker
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD demo-0.0.1-SNAPSHOT.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
4、将demo-0.0.1-SNAPSHOT.jar和Docker放在同一个文件夹下;
5、docker build -t http-server:v1.0.1 . #创建镜像到本地(注意最后面的 . 代表当前目录的Dockerfile文件)
6、docker run -d -p 12001:12000 --name httpserver http-server:v1.0.1 #启动容器 &使用 --name 标记可以为容器自定义命名 注:容器之间默认都是可以相互连接的
7、docker ps |grep httpserver #查看已经启动的httpserver容器
81b3096b96c8 http-server:v1.0.1 "java -Djava.secur..." 2 days ago Up 2 days 0.0.0.0:12001->12000/tcp http
8、docker exec -t -i ID /bin/bash #进入容器
9、docker logs -f ID #查看容器的实时日志
10、docker stop ID #停止容器(start/kill/stop/restart)
11、docker rm ID #删除容器
12、docker rmi ID #删除镜像
13、docker images #查看所有的本地镜像
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南