最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何从docker

IT培训 admin 7浏览 0评论

如何从docker

我曾尝试使用process.env.port来获取环境中的端口变量,但是当我构建docker时它没有任何改变。如果我有两个像这样的服务码头,如何从mongo获得端口

services:
  app:
    image: lostproperty
    container_name: lost-property
    ports:
      - "127.0.0.1:3100:3000"
    environment:
      - port :"3100"
      - API_URL:"http://localhost:3000/lost-property/"
    depends_on:
      - mongo
    volumes: 
      -  ../app:/var/www/html
    stdin_open: true
    tty: true
    restart: always
  mongo:
    image: mongo
    ports: 
      - "127.0.0.1:27018:27017"
    volumes:
      - ./data:/data/db
    environment: 
      - MONGO_URL:"mongodb://localhost:27017/lost-property"` 
回答如下:

您可以通过将其包含在docker-compose文件中,确保两个容器都能够使用其容器名称相互通信。这种方式lost-property可以通过mongodb:mongo:27017与mongo交谈

networks:
  default:
    external:
      name: my-network

你可能想在与docker-compose.yml相同的目录中创建一个.env文件。在.env中使用像

MONGO_PORT=27017
MONGO_URL=mongodb://mongo:27017/lost-property
API_URL=http://localhost:3000/lost-property/
PORT=3100

在你的docker-compose文件中使用环境配置

services:
  app:
    environment:

    image: lostproperty
    container_name: lost-property
    ports:
      - ${PORT}:${PORT}
    environment:
      - PORT
      - API_URL
      - MONGO_PORT
      - MONGO_URL
    depends_on:
      - mongo
    volumes: 
      -  ../app:/var/www/html
    stdin_open: true
    tty: true
    restart: always
  mongo:
    image: mongo
    ports: 
      - ${MONGO_PORT}:${MONGO_PORT}
    volumes:
      - ./data:/data/db
    environment: 
      - MONGO_URL

将VALUE用于环境部件,将$ {VALUE}用于其他任何地方,例如端口。然后在你的app.js或index.js或任何你可以得到的端口和网址

process.env.MONGO_PORT
process.env.MONGO_URL
process.env.PORT
process.env.API_URL

你可以输入

docker-compose config

在运行docker-compose之前查看配置是什么样的

此外,如果您正在使用类似express的api服务器运行,则需要使用0.0.0.0作为要侦听的IP,而不是127.0.0.1如果您希望能够从容器及​​其网络外部访问/测试它

如何从docker

我曾尝试使用process.env.port来获取环境中的端口变量,但是当我构建docker时它没有任何改变。如果我有两个像这样的服务码头,如何从mongo获得端口

services:
  app:
    image: lostproperty
    container_name: lost-property
    ports:
      - "127.0.0.1:3100:3000"
    environment:
      - port :"3100"
      - API_URL:"http://localhost:3000/lost-property/"
    depends_on:
      - mongo
    volumes: 
      -  ../app:/var/www/html
    stdin_open: true
    tty: true
    restart: always
  mongo:
    image: mongo
    ports: 
      - "127.0.0.1:27018:27017"
    volumes:
      - ./data:/data/db
    environment: 
      - MONGO_URL:"mongodb://localhost:27017/lost-property"` 
回答如下:

您可以通过将其包含在docker-compose文件中,确保两个容器都能够使用其容器名称相互通信。这种方式lost-property可以通过mongodb:mongo:27017与mongo交谈

networks:
  default:
    external:
      name: my-network

你可能想在与docker-compose.yml相同的目录中创建一个.env文件。在.env中使用像

MONGO_PORT=27017
MONGO_URL=mongodb://mongo:27017/lost-property
API_URL=http://localhost:3000/lost-property/
PORT=3100

在你的docker-compose文件中使用环境配置

services:
  app:
    environment:

    image: lostproperty
    container_name: lost-property
    ports:
      - ${PORT}:${PORT}
    environment:
      - PORT
      - API_URL
      - MONGO_PORT
      - MONGO_URL
    depends_on:
      - mongo
    volumes: 
      -  ../app:/var/www/html
    stdin_open: true
    tty: true
    restart: always
  mongo:
    image: mongo
    ports: 
      - ${MONGO_PORT}:${MONGO_PORT}
    volumes:
      - ./data:/data/db
    environment: 
      - MONGO_URL

将VALUE用于环境部件,将$ {VALUE}用于其他任何地方,例如端口。然后在你的app.js或index.js或任何你可以得到的端口和网址

process.env.MONGO_PORT
process.env.MONGO_URL
process.env.PORT
process.env.API_URL

你可以输入

docker-compose config

在运行docker-compose之前查看配置是什么样的

此外,如果您正在使用类似express的api服务器运行,则需要使用0.0.0.0作为要侦听的IP,而不是127.0.0.1如果您希望能够从容器及​​其网络外部访问/测试它

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论