docker run 指定 ip- spring boot

本文详细介绍使用Dockerfile构建包含Java环境及微服务应用的镜像过程,涵盖环境配置、依赖安装、服务启动等关键步骤,并演示如何通过Docker运行服务。

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

1. Dockerfile

FROM ubuntu
RUN mkdir opt/fsd
RUN apt-get update
RUN apt install vim --assume-yes
ADD jdk-8u231-linux-x64.tar.gz opt/fsd
ENV JAVA_HOME=/opt/fsd/jdk1.8.0_231
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
COPY sfgeurekasvr-0.0.1-SNAPSHOT.jar /opt/fsd
EXPOSE 7761
ENTRYPOINT java -jar /opt/fsd/sfgeurekasvr-0.0.1-SNAPSHOT.jar --eureka.instance.hostname=${EUREKAHOST}

2. docker build -t bb .

3. docker run -p 7761:7761 -e "EUREKAHOST=192.168.3.68"  -it bb  /bin/bash

4. codes for test

@EnableEurekaServer
@SpringBootApplication
@RestController
public class EurekaMainApplication {

    @Value("${eureka.instance.hostname}")
    String eurekaIp;

    @Value("$server.port")
    String port;

    public static void main(String[] args) {
        SpringApplication.run(EurekaMainApplication.class, args);
    }

    @RequestMapping(value = { "/ip" }, method = RequestMethod.GET)
    public String findIp() {
        System.out.println("--------------------------ip:" + eurekaIp + "; port:" + port);
        return eurekaIp;
    }
}

 

附:也可以在build阶段指定参数

docker build --build-arg EUREKAHOST=192.168.3.68 -t aa .

FROM ubuntu
RUN mkdir opt/fsd
ARG EUREKAHOST
RUN echo "Oh dang look at that ${EUREKAHOST}"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值