Docker运行不正常

时间:2018-07-13 22:03:17

标签: 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

1 个答案:

答案 0 :(得分:0)

  

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

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

您需要从正确的顺序开始运行所有个映像,以便进行任何操作。