首页 > 解决方案 > 将卷挂载到 Docker 容器中并查看主机系统上的更改

问题描述

我希望在容器中所做的更改在主机系统上可见。我怎么做?

这是我现在使用的 docker-compose.yml:

version: '3'
services:
  timfoto:
    build: .
    command: bash -c "bundle exec middleman s"
    volumes:
      - .:/myapp
    ports:
      - "4567:4567"

还有我的 Dockerfile:

FROM ruby:2.5.3
RUN apt-get update -qq && apt-get install -y build-essential nodejs
ADD Gemfile .
ADD Gemfile.lock .
RUN bundle
VOLUME ["/myapp"]
WORKDIR myapp
EXPOSE 4567

标签: dockerdocker-compose

解决方案


您似乎拥有在主机和容器之间共享文件和文件更改所需的东西。在容器内的 /myapp 目录中写入的内容应该在容器外部的主机上可见。

为此,您需要确保:

  • 在 Windows 上,您必须在 Docker For Windows 设置中共享主机文件夹
  • 在指定卷指令的主机部分时,有时相对路径让我很头疼。考虑在这里使用绝对路径。

推荐阅读