微服务模块部署到Docker

本文详细介绍了如何在微服务环境中配置Dockerfile,包括设置时区、复制jar包、暴露端口等步骤。同时,讲解了在IDEA中编辑配置、在pom.xml中添加插件以打包微服务,以及解决启动时可能出现的错误。在遇到Dockerfile连接错误或无法获取镜像ID的问题时,提供了相应的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在微服务的模块下,与src文件夹同级,新建docker文件夹,并在该文件夹中,新建文件Dockerfile。Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。
其内容如下:

FROM openjdk:11 #FROM+基于镜像

MAINTAINER **** #维护者信息

# 设置时区,构建镜像时执行的命令
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone

WORKDIR /home/xingtu

# 复制jar包
COPY *.jar /home/xingtu/app.jar

# 统一启动端口
ENV PARAMS = "--server.port=9204"

EXPOSE 9204 

ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]

在这里插入图片描述

2.在IDEA右上角,Edit Configurations
在这里插入图片描述
Server配置:
在这里插入图片描述

配置完成后点击Apply应用。

3.在pom.xml中配置:

<build>
	<plugins>
    	<plugin>
        	<groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
            	<execution>
                	<phase>package</phase>
                    <goals>
                    	<goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
     </plugins>
</build>

4.选择指定部署模块分别执行下面命令,执行完之后,在target文件夹下,会有一个对应的jar包.

mvn clean
mvn compile
mvn package

5.,将生成的jar包复制到docker文件夹下,最后执行第二步中配置的运行项,部署成功后:
在这里插入图片描述
6.问题
6.1在启动过程中,报错:

failed to deploy 'XXXX Dockerfiler'...:Not connect to docker

解决办法:先确保自己的Dockerfile配置没有问题,确认配置文件没有问题还是报这个错的话,就关闭IDEA,然后以管理员身份运行IDEA。

6.2执行Dockerfile时,报错:

Failed to deploy 'XXX Dockerfile: XX/XXX/docker/Dockerfile': Can't retrieve image ID from build stream

解决办法:将docker文件夹中下多余的jar删除,只保留对应的微服务jar。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值