帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
如何用docker在自己服务器上部署springboot项目
发布时间:2024-03-08 10:53:10   分类:帮助文档
如何用docker在自己服务器上部署springboot项目

一、将springboot项目打包
1、maven clean项目

2、maven package项目

打包成功之后生成jar文件(在target目录下)


3、为Java创建Dockerfile
引入jdk8的Docker镜像

FROM openjdk:8

为了使运行其余命令时更容易,让我们设置映像的工作目录。这将指示Docker使用此路径作为所有后续命令的默认位置。通过这样做,我们不必键入完整的文件路径,但可以使用基于工作目录的相对路径。

WORKDIR /app

在运行mvnw依赖项之前,需要将Maven包装器和pom.xml文件放入映像中。我们将使用COPY命令来完成此操作。COPY命令有两个参数。第一个参数告诉Docker你想复制什么文件到镜像中。第二个参数告诉Docker你想把文件复制到哪里。我们将把所有这些文件和目录复制到我们的工作目录- /app中。

COPY .mvn/ .mvn
COPY mvnw pom.xml ./

一旦映像中有了pom.xml文件,就可以使用RUN命令执行命令mvnw dependency:resolve。这与我们在机器上本地运行mvnw(或mvn)依赖项的方式完全相同,但是这次依赖项将被安装到映像中。

RUN ./mvnw dependency:resolve

至此,我们已经有了一个基于OpenJDK版本8的映像,并且我们还安装了依赖项。我们需要做的下一件事是将源代码添加到镜像中。我们将使用COPY命令,就像处理上面的pom.xml文件一样。

COPY src ./src

这个COPY命令获取位于当前目录中的所有文件,并将它们复制到映像中。现在,我们所要做的就是告诉Docker,当我们的镜像在容器中执行时,我们想要运行什么命令。我们使用CMD命令来执行此操作。

CMD ["./mvnw", "spring-boot:run"]

这里是完整的Dockerfile。

FROM openjdk:8

WORKDIR /app

COPY .mvn/ .mvn
COPY mvnw pom.xml ./
RUN ./mvnw dependency:resolve

COPY src ./src

CMD ["./mvnw", "spring-boot:run"]

4、创建一个.dockerignore文件
为了提高构建的性能,作为一般的最佳实践,我们建议您在与Dockerfile相同的目录下创建一个.dockerignore文件。在本教程中,.dockerignore文件应该只包含一行:

target

这一行将目标目录(其中包含来自Maven的输出)从Docker构建上下文中排除。有很多很好的理由来仔细构造一个.dockerignore文件,但是现在这个一行文件就足够了。
5、构建镜像

docker build --tag java-docker .

6、查看本地镜像

docker images



7、一个镜像可以有多个标签。让我们为我们构建的镜像创建第二个标签,并查看其图层。

docker tag java-docker:latest java-docker:v1.0.0



让我们移除刚刚创建的标签。为此,我们将使用rmi命令。rmi命令代表“remove image”。

docker rmi java-docker:v1.0.0

二、将镜像作为容器运行
1、要在容器中运行镜像,我们使用docker run命令。docker run命令需要一个参数,即镜像的名称。让我们启动映像并确保它正确运行。在终端上运行以下命令:

docker run java-docker



2、让我们网页访问《服务器ip》:9090


可以看到无法访问,因为我们的容器是隔离运行的,包括网络。让我们停止容器并重新启动本地网络上发布的端口9090。
3、要停止容器,请按ctrl-c。这将返回到终端提示符。
4、启动容器并将端口9090暴露给主机上的端口9090。
要为容器发布端口,我们将在docker运行命令上使用——publish标志(简称-p)。——publish命令的格式为[host port]:[container port]。因此,如果我们想要将容器内部的端口9090公开给容器外部的端口9090,我们将把9090:9090传递给——publish标志

docker run --publish 9090:9090 java-docker

5、再次访问,发现变为了404,说明成功了


现在,按ctrl-c停止容器。
6、以后端模式运行
我们可以使用——detach或简称为-d。Docker像之前一样启动容器,但这一次,它将从容器“分离”并返回终端提示符。

docker run -d -p 9090:9090 java-docker



Docker在后台启动我们的容器,并在终端上打印容器ID。
确保容器正常运行,用同样的路径访问


香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价