2017-09-04 40 views
0

我打算配置碼頭,以便當我修改主機上的文件時,更改將在容器文件系統內傳播。碼頭不傳播從主機到容器的文件更改

您可以將此視爲熱重新加載服務器端節點代碼。

nodemon文件觀察器應該重新啓動服務器以響應文件更改。

但是,當我使用docker exec pokerspace_express_1 bash檢查容器並檢查修改後的文件時,主機捲上的這些文件更改似乎沒有反映在容器內部,因此這些更改不會在容器內從主機傳播。

Dockerfile

FROM node:8 

MAINTAINER therewillbecode 

# Create app directory 
WORKDIR src/app 

RUN npm install nodemon -g 

# Install app dependencies 
COPY package.json . 
# For [email protected] or later, copy package-lock.json as well 
# COPY package.json package-lock.json ./ 

RUN npm install 


CMD [ "npm", "start" ] 

泊塢窗,compose.yml

version: '2' 
services: 
    express: 
    build: . 
    depends_on: 
    - mongo 
    environment: 
    - MONGO_URL=mongo:27017/test 
    - SERVER_PORT=3000 
    volumes: 
    - ./:/src/app 
    ports: 
    - '3000:3000' 
    links: 
    - mongo 

    mongo: 
    image: mongo 
    ports: 
    - '27017:27017' 

    mongo-seed: 
    build: ./mongo-seed 
    links: 
    - mongo 

.dockerignore

.git 
.gitignore 
README.md 
docker-compose.yml 

我怎麼能ensu該主機卷文件更改是否反映在容器中?

+0

,你能否告訴我們能重現問題的步驟的特定順序?我無法自己再現這種行爲。 – larsks

+0

請在您的主機上添加文件列表,將容器中的exec和列表以及Docker容器的輸出內容檢查$ container_id -f'{{.Mounts | json}}''放在您的容器ID上。 – BMitch

回答