Docker 如何打包一个springboot应用并将其上传至dockerhub仓库
构建一个镜像
-
创建
Dockerfile文件。注意此处的Dockerfile的命名,docker对大小写敏感。# 使用一个基础镜像,可以根据您的需求选择不同的基础镜像 FROM openjdk:8-jre-alpine # 设置工作目录 WORKDIR /app # 复制编译好的Spring Boot应用程序JAR文件到容器中 COPY target/Cang-1.0.jar app.jar # 暴露应用程序所需的端口(如果有的话) EXPOSE 8080 # 启动应用程序 CMD ["java","-jar","app.jar"]将上述示例中的
your-application.jar替换为您实际的Spring Boot应用程序JAR文件的名称。 -
构建Docker镜像: 在命令行中,进入包含Dockerfile的目录,并执行以下命令以构建Docker镜像:
docker build -t your-image-name:tag .请将
your-image-name替换为您想要为Docker镜像指定的名称,将tag替换为您想要的标签。 -
运行Docker容器: 使用以下命令运行您的Spring Boot应用程序的Docker容器:
#第一个端口代表宿主机端口,第二个8080代表spring应用的实际端口。使用此命令会将宿主机端口映射至容器端口 docker run -p 8080:8080 your-image-name:tag这会将容器的8080端口映射到主机的8080端口。您可以根据您的Spring Boot应用程序的端口配置进行适当的调整。
上传此镜像
要将您的Docker镜像上传到Docker Hub或其他Docker容器注册表,您需要遵循以下步骤:
-
登录到Docker Hub: 如果您还没有Docker Hub帐户,请在Docker Hub上创建一个。然后,使用以下命令登录到Docker Hub:
docker login输入您的Docker Hub用户名和密码。
-
重新标记镜像: 您需要为您的镜像重新标记以包括您的Docker Hub用户名或组织名称。使用以下命令:
docker tag your-image-name:tag your-dockerhub-username/your-image-name:tag将
your-image-name:tag替换为您之前创建的镜像名称和标签,将your-dockerhub-username替换为您的Docker Hub用户名。 -
上传镜像: 使用以下命令将标记的镜像上传到Docker Hub:
docker push your-dockerhub-username/your-image-name:tag这会将镜像上传到您的Docker Hub帐户中。请确保您已登录到正确的帐户。
-
验证镜像: 登录到Docker Hub网站,导航到您的帐户,您应该能够在那里看到刚刚上传的镜像。
现在,您的Docker镜像已经上传到Docker Hub。其他用户可以使用以下命令来从Docker Hub拉取您的镜像:
docker pull your-dockerhub-username/your-image-name:tag
确保将 your-dockerhub-username/your-image-name:tag 替换为您实际的镜像名称和标签。