文件未在docker-compose上同步

时间:2017-12-11 20:12:51

标签: docker synchronization docker-compose dockerfile

构建我的图片后(标记succli/backoffice),我的文件没有同步。我创建了一个entrypoint.sh,但它不在容器中。作为编辑器,我在Ubuntu上使用Visual Studio Code。

我的Dockerfile

FROM node:8

EXPOSE 3000

COPY . /opt/app

WORKDIR /opt/app

RUN npm install
CMD npm run-script prod

我的docker-compose.yml

version: "2"
services:
  web:
    image: succli/backoffice:latest
    ports:
      - "3000"
    links:
      - mongo
    environment:
      - DATABASE=mongodb://mongo:27017/backoffice

  mongo:
    image: mongo:latest

docker-compose.vols.yml

version: "2"
services:
  web:
    ports:
      - "32781:3000"
    environment:
      - DOMAIN=localhost:32781
    volumes:
      - /home/succ/www/backoffice:/opt/app
    entrypoint: /opt/app/entypoint.sh

  mongo:
    ports:
      - "27018:27017"

运行docker-compose -f docker-compose.yml up后,更改或新文件在容器中不可见(使用docker exec -ti backoffice_web_1 /bin/bash检查)

Docker version 17.09.1-ce, build 19e2cf6
docker-compose version 1.8.0, build unknown

1 个答案:

答案 0 :(得分:1)

查看您的Dockerfile我希望(因为我不完全清楚您的问题)您需要先将文件添加到图像中,然后才能RUN npm install

为了运行npm install,您需要一个package.json,因此您应该在RUN之前在dockerfile中添加它以及所需的所有其他文件。

在docker-compose.yml文件中,您可以在组成服务链时定义这两个服务......

希望它有所帮助。如果不是,请提供更详细的问题...