在主机中编辑时,Docker容器中的文件未更新

亨德里克·扬

我正在使用运行良好的Docker。
我可以使用docker-compose启动Docker映像。

docker-compose rm nodejs; docker-compose rm db; docker-compose up --build

我使用以下方式将外壳连接到Docker容器

docker exec -it nodejs_nodejs_1 bash

我可以查看容器内的文件

(inside container)
cat server.js

现在,当我server.js在主机内编辑文件时,我希望容器内的文件更改而不必重新启动Docker。
我试图添加volumesdocker-compose.yml文件或Dockerfile中,但是以某种方式我无法使其正常工作。

(Dockerfile, not working)
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
VOLUMES ["/usr/src/app"]

EXPOSE 8080
CMD [ "npm", "run", "watch" ]

要么

(docker-compose.yml, not working)
version: "3.3"
services:
  nodejs:
    build: ./nodejs-server
    ports:
      - "8001:8080"
    links:
      - db:db
    env_file:
      - ./.env-example
    volumes:
      - src: /usr/src/app
  db:
    build: ./mysql-server
    volumes:
      - ./mysql-server/data:/docker-entrypoint-initdb.d #A folder /mysql-server/data with a .sql file needs to exist
    env_file:
      - ./.env-example
volumes:
  src:

某处可能有一个简单的指南,但是我还没有找到。

程序员

如果要在容器中显示文件的副本,请使用绑定安装卷(也称为主机卷)而不是命名卷。

假设您的docker-compose.yml文件位于您想要在/ usr / src / app中的位置的根目录中,那么您可以按如下所示更改docker-compose.yml:

version: "3.3"
services:
  nodejs:
    build: ./nodejs-server
    ports:
      - "8001:8080"
    links:
      - db:db
    env_file:
      - ./.env-example
    volumes:
      - .:/usr/src/app
  db:
    build: ./mysql-server
    volumes:
      - ./mysql-server/data:/docker-entrypoint-initdb.d #A folder /mysql-server/data with a .sql file needs to exist
    env_file:
      - ./.env-example

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在主机中编辑Docker映像文件

容器内文件系统的更改未反映在Docker卷中的主机上

如何在已停止/未启动的Docker容器中编辑文件

如何通过编辑器在容器Docker中编辑文件

在 docker 容器中编辑 war 文件中的文件

Docker容器中的Java服务未连接到主机mysql

当 docker 主机是 windows 时,在 docker 容器中运行 puppeteer headful

将编辑的 conf 文件传递给 docker 容器中的 mosquitto 时出错

Docker主机与容器中的Ulimits

如何在 Docker 容器内的主机文件中添加条目?

如何在Docker容器中从主机查找卷文件?

在PowerShell中编辑主机文件

Docker:在停止的容器中编辑“ my.cnf”文件

从主机到容器的Dockerfile COPY工作正常,但是当docker-compose.yml使用卷时,容器中的文件对主机不可见

将文件从主机复制到Docker容器,在Docker中的脚本中执行

属性值未更新Xcode中.plist文件的后期编辑

如何使与主机的Docker容器共享文件出现在容器中?

从主机映射卷更改时,容器文件未更新

从Docker容器中检测AWS主机环境

从Docker容器中的主机访问数据

在Docker容器中以主机用户身份运行

在Docker容器中以主机用户身份运行

在Docker容器中获取主机IP

Docker从主机复制容器中的UID / GID

Docker-修改容器中主机的IPTABLES

Docker容器中与主机同步的时间

容器在主机文件系统中的什么位置?

更改Windows主机上Docker容器内已安装文件夹中的文件权限

在 docker 容器上的文本编辑器中未正确显示特殊字符