将已经打好包的springboot的jar包手动上传到服务器,然后运维怎么构建容器并发布呢
要使用 Docker 部署一个已经上传的 Java JAR 包,你需要创建一个 Dockerfile,并在里面编写必要的指令来设置运行环境和启动你的应用。以下是一个基本步骤的概述,以及一个示例 Dockerfile。
基本步骤:
-
创建 Dockerfile :在你的项目根目录或一个合适的位置创建一个名为
Dockerfile
的文件。 -
编写 Dockerfile:在 Dockerfile 中指定基础镜像、复制 JAR 文件、设置启动命令等。
-
构建 Docker 镜像 :使用
docker build
命令来根据 Dockerfile 构建你的 Docker 镜像。 -
运行 Docker 容器 :使用
docker run
命令来运行你的镜像。
示例 Dockerfile:
Dockerfile
# 使用官方 Java 运行环境作为基础镜像
FROM openjdk:8-jdk-alpine
# 设置工作目录(在容器内部)
WORKDIR /app
# 将 JAR 文件从构建上下文复制到容器内
COPY oaker-admin-web.jar oaker-admin-web.jar
# 暴露应用的端口
EXPOSE 8080
# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "/app/oaker-admin-web.jar"]
在这个 Dockerfile 中:
FROM openjdk:8-jdk-alpine
指定了基础镜像,这里使用的是轻量级的 Alpine Linux,带有 OpenJDK 8。WORKDIR /app
设置容器内的工作目录。COPY path/to/your/jarfile.jar app.jar
将你的 JAR 文件复制到容器的工作目录中。你需要将path/to/your/jarfile.jar
替换为你的 JAR 文件的实际路径。EXPOSE 8080
暴露了应用的端口,假设你的应用运行在 8080 端口。根据需要调整端口号。ENTRYPOINT
指定了容器启动时要执行的命令,这里是运行 Java 应用。
构建和运行:
在包含 Dockerfile 的目录中,运行以下命令来构建 Docker 镜像:
bash
docker build -t oaker .
这会构建一个名为 my-java-app
的镜像。然后,你可以使用以下命令来运行你的应用:
bash
docker run -d -p 8888:8080 --name oaker --restart always oaker
这将启动一个 Docker 容器,并将容器的 8888 端口映射到宿主机的 8080 端口。
确保你在构建和运行 Docker 命令时拥有必要的权限,可能需要使用 sudo
。还需确保你的 Docker 环境已经正确安装和配置。