Docker-基于java8构建java项目镜像

需求:基于openjdk:8-jdk-alpine镜像,将一个java项目构建为镜像
实现步骤:

  1. 在linux系统检查有无openjdk:8-jdk-alpine镜像
docker images
  1. 如果没有,需要去镜像仓库拉取镜像,比如DockerHub
    在这里插入图片描述
    在这里插入图片描述
  2. 复制命令到linux系统控制台
docker pull openjdk:8-jdk-alpine

运行成功
在这里插入图片描述

  1. 在linux系统新建一个空目录,然后在目录中新建一个文件,命令为Dockerfile,拷贝java项目的jar包docker-demo.jar到这个目录中
    在这里插入图片描述
  2. 编写Dockerfile文件
  • 基于openjdk:8-jdk-alpine作为基础镜像
  • 将xxx.jar拷贝到镜像中
  • 暴露端口
  • 编写入口ENTRYPOINT
    内容如下:
# 基础镜像
FROM openjdk:8-jdk-alpine
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY docker-demo.jar /tmp/app.jar
#开放端口
EXPOSE 8090
# 入口
ENTRYPOINT ["java", "-jar", "/tmp/app.jar"]
  1. 进入到当前文件夹目录,然后使用docker build命令构建镜像
docker build -t docker-demo .

在这里插入图片描述
-t:是给镜像起名,格式依然是repository:tag的格式,不指定tag时,默认为latest;
. :是指定Dockerfile所在目录,如果就在当前目录,则指定为“.”;

  1. 此时再用docker images命令可查看构建出来的镜像
    在这里插入图片描述
  2. 使用docker run创建容器并运行
docker run -d --name dd -p 8090:8090 docker-demo

在这里插入图片描述
运行成功!
10. 使用docker logs -f [容器名称]命令在控制台打印日志

docker logs -f dd

在这里插入图片描述

  1. 在浏览器输入访问地址及接口信息即可访问项目
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Docker-compose是一个用于定义和运行多个Docker容器的工具,可以用来部署Java项目。具体步骤如下: 1. 编写Dockerfile文件,用于构建Java应用程序的Docker镜像。 2. 编写docker-compose.yml文件,定义Java应用程序容器的配置和依赖关系。 3. 在本地使用docker-compose命令启动容器,测试Java应用程序是否能够正常运行。 4. 将Docker镜像上传到Docker Hub或私有仓库中。 5. 在目标服务器上安装Dockerdocker-compose。 6. 从Docker仓库中拉取Java应用程序的Docker镜像。 7. 在目标服务器上使用docker-compose命令启动Java应用程序容器。 8. 验证Java应用程序是否能够正常运行。 以上是使用docker-compose部署Java项目的基本步骤,具体实现方式可以根据实际情况进行调整。 ### 回答2: Docker Compose 是一个使用 Docker 容器化部署简化工具,它可以帮助我们快速编排 Docker 容器环境。 准备工作: 1. 安装 Java 8 或以上版本 2. 安装 Docker 3. 安装 Docker Compose 步骤: 1. 在项目根目录下创建一个 docker-compose.yml 文件,文件中的内容类似如下: ``` version: "3" services: myapp: build: context: . dockerfile: Dockerfile ports: - "8080:8080" environment: - DATABASE_URL=jdbc:mysql://mysql/mydb - DATABASE_USER=root - DATABASE_PASSWORD=root depends_on: - mysql mysql: image: mysql:5.7 ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=mydb ``` 其中,有两个服务被定义,一个是 myapp 服务和一个 mysql 服务。myapp 使用当前目录中的 Dockerfile 来构建镜像Dockerfile 是一个用来告诉 Docker 镜像如何构建的文件。在这个 example 中,myapp 镜像需要设置数据库连接信息,需要依赖一个名为 mysql 的服务。 2. 创建 Dockerfile 文件,在项目根目录创建 Dockerfile 文件,文件内容大致如下: ``` FROM openjdk:8-jre-alpine COPY target/myapp.jar myapp.jar CMD ["java", "-jar", "myapp.jar"] ``` 其中,FROM 声明使用基础镜像,COPY 告诉 Docker 将本地的 myapp.jar 文件复制到镜像中,并设置镜像启动时默认执行的命令。 3. 运行 docker-compose up,启动应用: ``` $ docker-compose up ``` 4. 访问应用 在浏览器中访问 `http://localhost:8080`,即可访问部署好的应用。 以上就是部署 Java 项目Docker Compose 部署简述。 ### 回答3: Docker Compose 是 Docker 容器编排工具,可以通过 YAML 文件定义一组容器并进行管理。因此,利用 Docker Compose 部署 Java 项目非常方便且易于管理。 首先,我们需要准备一个 Dockerfile。Dockerfile 指令统计展示如下: FROM openjdk:8-jdk-alpine WORKDIR /app COPY target/demo.jar /app EXPOSE 8080 CMD ["java", "-jar", "demo.jar"] 接下来,我们需要编写一个 docker-compose.yml 文件来定义一个 Docker 服务。docker-compose.yml 指令统计展示如下: version: '3' services: demo: build: context: . dockerfile: Dockerfile ports: - "8080:8080" restart: always 该文件共定义了一个服务,服务名为 demo,使用上述 Dockerfile 构建该服务,并将端口映射至本地主机的 8080 端口,并始终处于重新启动状态。 接下来,我们需要进入项目根目录,执行以下命令来启动服务: docker-compose up 这将会构建并启动服务。之后,你只需要访问本地主机的 8080 端口便可访问项目。 注意,本文提供的示例仅供参考,具体情况需要根据实际情况进行修改。 总之,Docker Compose 可以简化 Java 项目的部署和管理工作,为企业迅速迭代和成功上线提供帮助。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值