mongodb - Docker运行不正常

标签 mongodb docker docker-compose dockerfile

当我使用docker compose时,它可以完美地执行应用程序,但是,当我使用docker run时,什么也没发生

我有一个带有nginx proxy-pass的API Rest(Express和Mongodb)。

Docker文件:

FROM node:8-alpine

EXPOSE 3000

ARG NODE_ENV
ENV NODE_ENV $NODE_ENV

RUN mkdir /app
WORKDIR /app
ADD package.json yarn.lock /app/
RUN yarn --pure-lockfile
ADD . /app

CMD ["yarn", "start"]

Docker撰写:
version: "2"
services:
  api:
    build: .
    environment:
      - NODE_ENV=production
    command: yarn start
    volumes:
      - .:/app
    ports:
      - "3000:3000"
    tty: true
    depends_on:
      - mongodb
    restart: always

  nginx:
    image: nginx
    depends_on:
      - api
    ports:
      - "80:80"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - mongodb
    restart: always

  mongodb:
    image: mongo
    ports:
      - "27017:27017"
    restart: always

最佳答案

When I use docker compose it performs perfectly the application, however, when I use docker run nothing happens



这似乎是预料之中的,因为 docker run 将运行一个图像。
docker compose 相反,它将运行一个多容器Docker应用程序。

您需要从正确的顺序开始运行所有镜像,以便发生任何事情。

关于mongodb - Docker运行不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51333338/

相关文章:

mysql - 无法连接到 osx 上 docker 内的 mysql

启用 VPN 后,Windows 10 上的 docker 无法挂载卷

python - 在 Docker 容器中打开搁置时为 "ImportError: No module named _bsddb"

spring-boot - java.lang.RuntimeException:使用本地的Spring Boot容器api时连接被拒绝

docker - 如何与另一个主机Y中的主机X中正在运行的Docker容器通信(而不是与主机Y中的容器通信)

django - 为什么使用 postgres Docker 镜像和 docker-compose 时数据会被持久化?

mongodb - Concat 2 mongodb 集合

java - Mongodb - 更新特定数组元素

mongodb - 从 MongoDB 聚合中的数组获取所有可能的组合 🚀

javascript - 分配给另一个变量后数据发生变化