【Docker】Docker部署Java程序

Maven中使用打包插件

<build>
        <finalName>duanjian</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.kewu.system.SysApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.github.ulisesbocchio</groupId>
                <artifactId>jasypt-maven-plugin</artifactId>
                <version>3.0.5</version>
            </plugin>
        </plugins>
    </build>

不使用插件打包会出现找不到主清单的问题

dockerfile镜像构建


最后打包的镜像就是docker-demo这个目录。
dockerfile

# 指定基础镜像
FROM java:8-alpine
 
# 拷贝 java 项目包
COPY ./duanjian.jar /tmp/app.jar
 
# 暴露端口
EXPOSE 8090
 
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

执行命令

docker build -t duanjian:1.0 .
docker run -d --name duanjian -p 8080:8080 duanjian:1.0
  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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 项目的部署和管理工作,为企业迅速迭代和成功上线提供帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值