1、准备部署的springboot的jar包
点击项目右侧maven->package按钮,jar包会输出到项目的target目录下
2、在放项目jar的目录下,创建Dockerfile 文件,需要注意的是文件不需要后缀
Dockerfile介绍:Docker中文文档 Dockerfile介绍-DockerInfo
一般Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令
#java:8 是使用jdk版本
FROM java:8
#指定了临时文件目录为/tmp
#创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等
VOLUME /tmp
#添加jar到容器并重命名
ADD bootdemo-1.0-SNAPSHOT.jar /app.jar
#执行jar文件, 配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/app.jar"]
3、使用 docker build 命令生成镜像,注意最后的是一个空格加上一个点
docker build -t bootdemo .
4、查看docker镜像
docker images
5、运行docker 容器
#不指定容器名称
docker run -d -p 8081:8081 bootdemo
#指定一个容器名称(--name)
docker run -d -p 8081:8081 --name bootdemo bootdemo
1.-d 后台运行
2.-p 8081:8081 将docker容器的8081端口映射到服务器上的8081端口
3.--name 未容器指定一个名称
6、查看容器日志
docker logs -f -t --tail 500 2c02d41c68f2d14237891d43beb5a0975bdf63766d122ed500bf6b7693c58fb7
7、访问项目测试接口
http://localhost:8081/testHaha
8、进入容器
docker exec -it 2c02d41c68f2d14237891d43beb5a0975bdf63766d122ed500bf6b7693c58fb7 bash
9、在容器内访问下后端接口
curl http://localhost:8082/testHaha
10、镜像项目命令
# 查找
$ docker search 关键字
# 抽取 (:tag表示版本,默认latest)
$ docker pull 镜像名:tag
# 列表
$ docker images
# 获取元信息
$ docker inspect 镜像id或镜像名
# 删除
$ docker rmi -f 镜像id或镜像名:tag
11、容器相关命令
# 运行
$ docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像id或镜像名称:tag
--name 指定容器名,如果不指定会自动命名;
-i 以交互模式运 行,即以交互模式运行容器;
-t 分配一个伪终端,即命令行;
-p 指定端口映射,将主机端口映射到容器内的端口;
-d 表示后台运行,即守 护式运行容器;
-v 指定挂载主机目录到容器目录,默认为rw读写模式
# 列表
$ docker ps -a -q
-a表示显示所有容器,
-q表示只显示容器id
# 启动容器
$ docker start 容器id或容器名称
# 停止容器
$ docker stop 容器id或容器名称
# 删除
$ docker rm -f 容器id或容器名称
# 获取容器的日志
$ docker logs 容器id或容器名称
# 进入正在运行的容器中并开启一个交互模式的终端,可以在容器中执行操
$ docker exec -it 容器id或容器名称 /bin/bash
# 拷贝文件
$ docker cp 主机中的文件路径 容器id或容器名称:容器中路径
# 获取容器的元信息
$ docker inspect 容器id