带有节点、java和Dynamodblocal的Dockerfile

带有节点、java和Dynamodblocal的Dockerfile,java,node.js,docker,Java,Node.js,Docker,我正在尝试创建一个docker文件,其中包含以下内容 Nodejs java(jre) Dynamodb本地 到目前为止,我能够通过Node:argon完成节点部分,但不确定如何完成其余部分。这就是我的Dockerfile的样子 FROM node:argon # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm instal

我正在尝试创建一个docker文件,其中包含以下内容

  • Nodejs
  • java(jre)
  • Dynamodb本地
  • 到目前为止,我能够通过Node:argon完成节点部分,但不确定如何完成其余部分。这就是我的Dockerfile的样子

    FROM node:argon
    
    
    # Create app directory
    RUN mkdir -p /usr/src/app
    WORKDIR /usr/src/app
    
    COPY package.json /usr/src/app/
    RUN npm install
    
    
    # # Bundle app source
    COPY . /usr/src/app
    
    EXPOSE 3000
    
    CMD [ "npm", "start" ]
    

    有人能告诉我如何在同一张图片上获得java(jre)和dynamodblocal吗。我知道理想情况下,您应该在单独的容器上安装dynamodblocal,但我认为dynamodblocal只能通过localhost访问。

    没错,您应该为dynamodblocal使用单独的容器,然后链接到您的应用程序

    docker run -d --name dynamodb deangiberson/aws-dynamodb-local
    
    docker run -d -P --name my_node_app --link dynamodb:dynamodb nodeApp 
    

    在您的应用程序中,使用
    dynamodb
    作为主机名而不是
    localhost
    获取连接。您是对的,您应该为dynamodblocal使用单独的容器,然后链接到您的应用程序

    docker run -d --name dynamodb deangiberson/aws-dynamodb-local
    
    docker run -d -P --name my_node_app --link dynamodb:dynamodb nodeApp 
    
    在应用程序中,使用
    dynamodb
    作为主机名而不是
    localhost