docker部署java服务的超完整步骤

本篇文章将详细讲解使用docker部署java服务的超完整步骤,包含两条示例说明。

确定部署环境

首先,我们需要确定我们的部署环境,包括操作系统和Docker版本。本次部署使用的是Ubuntu 18.04 LTS操作系统和Docker CE版本。确保已经安装了相应版本的操作系统和Docker,需要注意的是,Docker的安装和使用请参考官方文档。在Ubuntu 18.04 LTS上,可以使用以下命令来安装Docker:

sudo apt-get update
sudo apt-get install docker-ce

编写Dockerfile文件

在使用Docker部署Java服务之前,我们需要编写Dockerfile文件。Dockerfile文件包含了构建镜像所需的指令,其中包括基础镜像、软件包安装、文件拷贝等操作。以下是一个简单的Dockerfile文件,对其进行解释:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
EXPOSE 8080
ADD target/myapp.jar myapp.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/myapp.jar"]

该Dockerfile文件包含以下几个指令:

  • FROM:指定基础镜像,本次使用的是openjdk:8-jdk-alpine,该镜像是一个包含OpenJDK 8的Alpine Linux操作系统。
  • VOLUME:指定容器内部的目录,本次指定的是/tmp目录。
  • EXPOSE:指定容器运行时需要暴露的端口号,本次指定的是8080端口。
  • ADD:指定将本地文件添加到容器中,本次添加的是本地项目的jar包(target/myapp.jar)。
  • ENTRYPOINT:指定容器启动以后需要执行的命令,本次执行的是java -Djava.security.egd=file:/dev/./urandom -jar /myapp.jar命令。

通过该Dockerfile文件,我们可以构建Java服务所需的镜像。

构建镜像

在完成Dockerfile文件编写以后,我们需要构建镜像。以下是构建镜像的命令:

docker build -t myapp .

该命令会使用当前目录下的Dockerfile文件构建名为myapp的Docker镜像。请确保已经进入到项目的根目录中,且含有Dockerfile文件。

启动容器并运行

在完成镜像构建以后,我们需要启动容器并运行。以下是启动容器并运行的命令:

docker run -d -p 8080:8080 myapp

该命令会启动一个后台运行的Docker容器,并将宿主机上的8080端口映射到容器内的8080端口,以便外部访问。

现在,我们可以通过浏览器访问http://localhost:8080/来查看Java服务是否成功部署。若成功部署,页面上将显示"Hello, World!"。

示例一:部署Spring Boot应用

以下是一个简单的Spring Boot应用,对其进行部署操作:

  • 1.首先,在Spring Boot应用代码中添加Dockerfile文件,内容与上方所述Dockerfile文件相同。
  • 2.然后,在Spring Boot应用项目的根目录中执行以下命令构建镜像(注意,需要使用该Spring Boot应用项目的目录):
docker build -t my-spring-boot-app .
  • 3.然后,我们可以使用以下命令启动并运行容器:
docker run -d -p 8080:8080 my-spring-boot-app
  • 4.最后,我们可以使用浏览器访问http://localhost:8080/来查看Spring Boot应用是否成功部署。

示例二:部署Spring Cloud微服务

以下是一个简单的Spring Cloud微服务,对其进行部署操作:

  • 1.首先,在Spring Cloud微服务代码中添加Dockerfile文件,内容与上方所述Dockerfile文件相同。
  • 2.然后,在Spring Cloud微服务项目的根目录中执行以下命令构建镜像(注意,需要使用该Spring Cloud微服务项目的目录):
docker build -t my-spring-cloud-app .
  • 3.然后,我们可以使用以下命令启动并运行容器:
docker run -d -p 8080:8080 -e "SPRING_PROFILES_ACTIVE=dev" my-spring-cloud-app
  • 4.最后,我们可以使用浏览器访问http://localhost:8080/来查看Spring Cloud微服务是否成功部署。

通过以上两个示例,我们可以看到Docker为Java服务的部署提供了极大的便利性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:docker部署java服务的超完整步骤 - Python技术站

(1)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • docker根据容器名称停止删除容器

      把myjar 换成自己的容器名称 docker stop $(docker ps -a | grep “myjar” | awk ‘{print $1 }’) docker rm $(docker ps -a | grep “myjar” | awk ‘{print $1 }’)  

    Docker 2023年4月11日
    00
  • docker 安装 GridStudio

    准备工作: 安装docker docker安装原文链接 1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。 通过 uname -r 命令查看你当前的内核版本 uname -r 2、使用 root 权限登录 Centos。确保 yum 包更新到最新。 yum upda…

    Docker 2023年4月13日
    00
  • 使用 docker-compose 安装 php 运行环境 —— network 的方式

    官方手册明确说明,容器互联不要采用 link 的方式,而应该采用 network 的方式。   以下演示的以 centOS 上为例,如果你在 mac 上,就需要注意一下路径问题,mac 下一班把文件什么的放在用户目录下。 直接上步骤: 1、centOS下需要升级 yum —— 不然可能会有一些神经病的错误发生 yum update 2、将已经写好的 yml …

    Docker 2023年4月11日
    00
  • Docker 安装 minio

    参考地址: https://www.jianshu.com/p/52dbc679094a   注意的地方: echo 命令设置 ACCESS_KEY 和 SECRET_KEY echo “admin” | docker secret create access_key – echo “12345678” | docker secret create secr…

    Docker 2023年4月16日
    00
  • docker容器的启动、停止、运行、导入、导出、删除

    运行容器:docker run -t -i  imagename  /bin/bash、docker run  imagename  /bin/bash 参数-t让Docker分配一个伪终端并绑定在容器的标准输入上,-i让容器的标准输入保持打开。 使用docker run命令来启动容器,docker在后台运行的标准操作包括1.检查本地是否存在指定的镜像,不存…

    Docker 2023年4月13日
    00
  • 30分钟带你了解Docker(推荐)

    介绍 Docker 是一个开源的应用程序容器引擎,可以轻松地将应用程序打包、分发和运行在任何操作系统中。它有助于开发人员将应用程序与底层系统隔离,使得应用能够快速而可靠地在不同的环境中运行。 本篇攻略将带你学习 Docker 的基础知识,包括如何创建、运行、打包和检查 Docker 容器。同时,我们将会通过两个示例说明这些基础概念。 步骤 步骤一:安装 Do…

    Docker 2023年5月16日
    00
  • docker安装mongodb

    1、创建文件夹结构 ├── conf │   ├── mongo.conf ├── data └── log └── mongo.log #赋权限 chmod 777 mongo.log #mongo.conf文件内容 port=27017 dbpath=/data/db/ logpath=/data/log/mongo.log logappend=true…

    Docker 2023年4月11日
    00
  • Docker 容器上部署 Zabbix

    首先,从 Docker Hub 上拉取 Zabbix 镜像。可以使用以下命令: docker pull zabbix/zabbix-server-mysql:latest 这会下载最新版本的 Zabbix Server 镜像和 MySQL 镜像。 然后,创建一个 Docker 网络以便容器可以相互通信: docker network create zabbi…

    Docker 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部