Docker命名卷未更新

舒利·萨普利(Shulhi Sapli)

我对应如何使用命名的数据卷(而不是数据容器)感到困惑。

我有一个使用docker compose文件app_src挂载的命名数据卷/usr/src/app但是,在更改了我的源代码(本地)后,构建映像不会更新该卷。

我正在建立这样的形象,

docker-compose -f development.yml build并运行它docker-compose -f development.yml up -d

为了确认音量没有变化,我将其附加到正在运行的容器中,并且确实如此,源代码未更新。

这是我的docker compose文件,development.ymlDockerfile为我web提供服务。版本:“ 2”

services:
  web:
    restart: always
    build: ./web
    expose:
      - "8000"
    volumes:
      - app_src:/usr/src/app
    links:
      - postgres:postgres
    env_file: development.env
    command: ./start_web.sh

volumes:
   app_src: {}


FROM python:3.4.4

WORKDIR /usr/src/app
RUN rm -rf /usr/src/app/*
COPY . /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt

我可以这样安装主机来使其工作,

volumes:
    - ./web/src:/usr/src/app

我在运行docker 1.11.2的Ubuntu 16.04上。我的理解错了吗?我确实看了一下文档,但是发现任何可以很好地解释该卷的内容。

米奇

似乎您正在尝试将docker-compose与命名的卷挂载和Dockerfile一起使用以修改该位置的内容。这将不起作用,因为Dockerfile正在创建映像。docker-compose定义了在该映像之上运行的运行容器。您将无法在映像创建过程中修改该卷,因为只有在创建映像并运行容器之后才会挂载该卷。

如果要更新命名卷,请考虑使用侧面容器:

docker run -v app_src:/target -v `pwd`/web/src:/source --rm \
  busybox /bin/sh -c "tar -cC /source . | tar -xC /target"

您可以根据需要运行该容器以更新您的命名卷。git clone如果您要对大型存储库进行较小的更改,也可以用诸如从源存储库中提取的tar甚至是rsync(您需要将其安装在映像上)替换tar

您还可以通过清空命名卷(rm -rf / vol / dir或删除该卷并创建一个新卷)来解决此问题,然后重新启动容器。在容器启动时,如果包含一个空的命名卷,则默认值为将该位置的图像内容复制到该卷中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Docker命名卷未更新

来自分类Dev

命名Docker卷以共享构建而不更新

来自分类Dev

Node.js Docker容器未更新到卷的更改

来自分类Dev

Docker命名卷与DOC(仅数据容器)

来自分类Dev

Docker-compose命名挂载卷

来自分类Dev

Docker在多个容器之间命名卷

来自分类Dev

Windows的Docker:访问命名的卷安装

来自分类Dev

使用docker-compose创建命名的docker卷?

来自分类常见问题

如何在Docker 1.9+中列出命名卷的内容?

来自分类Dev

带有Windows本地文件夹的Docker命名卷

来自分类Dev

Docker绑定安装目录与命名卷性能比较

来自分类Dev

如何创建与主机共享的数据的命名Docker数据卷

来自分类Dev

Boot2Docker / Fig安装卷未刷新

来自分类Dev

Dockerfile 卷:本地更改未反映在 docker 中

来自分类Dev

docker卷中的sqlite数据库未打开

来自分类Dev

docker-compose配置如何在使用现有卷的同时从使用匿名卷过渡到命名卷?

来自分类Dev

当我同时使用主机卷(绑定安装)和命名卷(一种 docker 管理的卷)时会发生什么?

来自分类Dev

我们可以在Docker中挂载命名卷的子目录吗?

来自分类Dev

尝试在Docker中备份文件时如何正确指定命名卷

来自分类Dev

docker-compose 在初始启动时命名卷复制内容

来自分类Dev

Kubernetes卷未挂载

来自分类Dev

Docker卷未与Redis一起使用(挂载确实与inspect一起显示)

来自分类Dev

卷未真正安装到IBM Bluemix上的Docker容器

来自分类Dev

卷中的 Docker 自定义用户 ID 权限(已安装和未安装)

来自分类Dev

Docker卷:备份

来自分类Dev

Docker卷为空

来自分类Dev

在Docker中映射卷

来自分类Dev

Docker MySQL主机卷

来自分类Dev

列出Docker容器的卷

Related 相关文章

热门标签

归档