Dockerfile 构建卷更改未反映在已安装的本地文件夹中? (OS X / boot2Docker)
Dockerfile build volume changes not reflected on mounted local folder? (OS X / boot2Docker)
使用 docker-compose
我有一个 Dockerfile,它为 Sails JS 应用程序构建了一个环境。在我的 Dockerfile 中,我使用 sails new .
(通过 docker-compose 映射到我的本地文件系统的文件夹)生成了一个新的 Sails 脚手架项目。
当我 运行 docker-compose build
时,一切似乎都已成功构建。我在我的本地机器上使用 docker-compose up -d
来完成。然后我导航到主机上映射到本地的文件夹,即主机 (vm) 上我生成新 Sails 项目的文件夹。我 期望 看到 docker-compose build
期间在主机机器上生成的所有文件都放在我的本地文件夹中。该文件夹是 BLANK 吗?怎么了?
我的基本docker-撰写文件:
node:
restart: "always"
build: ./cnt/node
ports:
- "8080:8080"
volumes:
- ./src:/var/www/html
# DEBUG: conveniently used to keep a container running
command: /bin/bash -c 'tail -f /dev/null'
注意: ./src 是我的源代码所在的本地文件夹。这被映射到 HOST 机器上的 /var/www/html (webroot)。
这是 Dockerfile 中用于生成 Sails 脚手架的最后几行 :
WORKDIR /var/www/html
RUN sails new .
RUN touch test.txt
当我执行时一切 运行 都成功(没有错误):
docker-compose build
docker-compose up -d
完成后,我 cd src
检查我希望看到我的 Sails 应用程序脚手架的源目录,但它是 EMPTY。有没有搞错?!没有错误?我错过了什么?
是否与 docker-compose 文件有关,我正在构建的图像是通过 build: ./cnt/node
构建的,稍后我安装撰写文件中的卷?在生成 Sails 脚手架之前,我是否需要先安装 VOLUMES ?
谢谢!
卷仅在 运行 时间内安装,build
专门设计为可重现,因此在构建期间不允许任何外部内容。
您必须使用 docker-compose run node ...
在主机上生成脚手架
使用 docker-compose
我有一个 Dockerfile,它为 Sails JS 应用程序构建了一个环境。在我的 Dockerfile 中,我使用 sails new .
(通过 docker-compose 映射到我的本地文件系统的文件夹)生成了一个新的 Sails 脚手架项目。
当我 运行 docker-compose build
时,一切似乎都已成功构建。我在我的本地机器上使用 docker-compose up -d
来完成。然后我导航到主机上映射到本地的文件夹,即主机 (vm) 上我生成新 Sails 项目的文件夹。我 期望 看到 docker-compose build
期间在主机机器上生成的所有文件都放在我的本地文件夹中。该文件夹是 BLANK 吗?怎么了?
我的基本docker-撰写文件:
node:
restart: "always"
build: ./cnt/node
ports:
- "8080:8080"
volumes:
- ./src:/var/www/html
# DEBUG: conveniently used to keep a container running
command: /bin/bash -c 'tail -f /dev/null'
注意: ./src 是我的源代码所在的本地文件夹。这被映射到 HOST 机器上的 /var/www/html (webroot)。
这是 Dockerfile 中用于生成 Sails 脚手架的最后几行 :
WORKDIR /var/www/html
RUN sails new .
RUN touch test.txt
当我执行时一切 运行 都成功(没有错误):
docker-compose build
docker-compose up -d
完成后,我 cd src
检查我希望看到我的 Sails 应用程序脚手架的源目录,但它是 EMPTY。有没有搞错?!没有错误?我错过了什么?
是否与 docker-compose 文件有关,我正在构建的图像是通过 build: ./cnt/node
构建的,稍后我安装撰写文件中的卷?在生成 Sails 脚手架之前,我是否需要先安装 VOLUMES ?
谢谢!
卷仅在 运行 时间内安装,build
专门设计为可重现,因此在构建期间不允许任何外部内容。
您必须使用 docker-compose run node ...