【Docker】010-Docker 一键启动合集

【Docker】009-Docker 一键启动合集

一、启动 jar

1、命令

docker run \
-itd \
--rm \
-p 8081:8081 \
-v /home/docker/video:/app \
-v /home/docker/video/logs:/logs \
--name video-app \
openjdk:17-jdk \
java -jar /app/app.jar --server.port=8081

2、解释

这条命令用于在Docker容器中运行一个Java应用程序,以下是各参数的解释:

  • docker run: 运行一个新的容器。
  • -itd: 创建一个交互式容器,它会在后台运行,并且可以使用容器ID或名称进行访问。
  • --rm: 容器停止后立即删除。
  • -p 8080:8080: 将主机的8080端口映射到容器的8080端口,允许从主机上访问容器中运行的应用程序。
  • -v /home/docker/java:/app: 将主机的/home/docker/java目录挂载到容器的/app目录,使得容器中的Java应用程序可以访问主机上的jar包。
  • -v /home/docker/video/logs:/logs \ 挂载容器内根目录的logs目录到/home/docker/video/logs。
  • openjdk:17-jdk: 基于openjdk:17-jdk镜像创建一个新的容器,该镜像包含了Java 17的开发工具。
  • java -jar /app/app.jar --server.port=8080: 在容器中运行Java应用程序,将/app/app.jar作为主要的jar包运行,同时设置应用程序的端口为8080。

总的来说,这条命令的作用是创建一个基于Java 17的Docker容器,其中运行了一个应用程序(通过app.jar提供),并将其映射到主机的8080端口上,使得外部用户可以通过浏览器访问该应用程序。

二、启动 jar 镜像方案

1、Dockerfile

# 该镜像需要依赖的基础镜像
FROM openjdk:17-jdk

# 创建挂载点
VOLUME /app

# 定义工作目录为/app
WORKDIR /app

# 指定docker容器启动时运行jar包,并将端口设置为8080
ENTRYPOINT ["java", "-jar", "-Dserver.port=8080", "app.jar"]

# 指定端口 8080
EXPOSE 8080

# 指定维护者的名字为zibo
LABEL maintainer="zibo"

2、相关命令

# 构建镜像
docker build -t video-app-image .

# 删除镜像
docker rmi video-app-image

# 启动容器
docker run -itd -p 8081:8080 -v /home/zibo/docker/app:/app --name video-app video-app-image

# 删除容器
docker rm video-app

# 查看实时日志
docker logs -f video-app

# 进入容器内部
docker exec -it video-app /bin/bash

# 离开容器
exit

3、备注

  • 将 jar 放在 app 目录下;
  • 挂载后,日志也会在 app 目录里面;
  • Dockerfile 和 app 目录 同级;

主机 app 目录外

在这里插入图片描述

主机 app 目录内

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值