docker-compose 中多个container间通信失败

  1. docker-compose.yml
    
    version: '3'
    services:
      web:
        build: .
        image: ${MYAPP_NAME}
        ports:
          - ${MYAPP_PORT}:${MYAPP_PORT}
        container_name: ${MYAPP_NAME}
        depends_on:
          - redis
      redis:
        image: ${REDIS_NAME}
        command: ${REDIS_COMMAND}
        ports:
          - ${REDIS_PORT}:${REDIS_PORT}
        container_name: ${REDIS_NAME}
  2. Dockerfile:
    
    FROM openjdk:8-jdk-alpine
    VOLUME /tmp
    ADD test-0.0.1-SNAPSHOT.jar test.jar
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test.jar"]
  3. startup.sh
    
    echo ---env setting---
    build_version=test-0.0.1-SNAPSHOT
    deploy_port=8085
    build_name=myapp
    echo ---copy to dest---
    cp target/test-0.0.1-SNAPSHOT.jar test-0.0.1-SNAPSHOT.jar
    echo ---start docker---
    docker-compose up -d

     

  4. .env
    
    
    MYAPP_PORT=8085
    MYAPP_NAME=myapp
    REDIS_PORT=6379
    REDIS_NAME=redis
    REDIS_COMMAND=redis-server

    我用startup启动docker-compose,可以看到两个container(myapp和redis)都启动了,但是myapp中调用redis就会失败。请问是什么原因呢?network?

 

失败的原因是连接不上 redis 吗?还是其他的?

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。