首页 > 解决方案 > 如何将本地目录映射到 Docker 容器的目录?

问题描述

我正在尝试将位于本地App_DataThemes中的多个配置文件映射到 Docker 容器内的相同文件夹。目标是确保容器使用与我的开发机器相同的配置,并允许我在不重建容器的情况下修改和测试主题。

我正在修改现有脚本,但我收到以下错误消息,但没有指出有问题的行:

ERROR: In file './docker-compose.yml', volume must be a mapping, not an array.
The terminal process "/bin/zsh '-c', 'docker-compose -f "docker-compose.yml" up -d --build'" terminated with exit code: 1.

现有脚本经历了一个漫长的构建过程,这涉及一个漫长的构建过程,但我希望这个脚本能够在预构建的容器上工作。我可以简单地删除构建步骤吗?

version: "3.4"
services:
  nopcommerce_web:
    image: nopcommerce:latest
    ports:
      - "80:80"
    depends_on:
      - nopcommerce_database
    volumes:
      - /src/Presentation/Nop.Web/App_Data
  nopcommerce_database:
    image: "mcr.microsoft.com/mssql/server:2019-latest"
    container_name: nopcommerce_mssql_server
    environment:
      SA_PASSWORD: "nopCommerce_db_password"
      ACCEPT_EULA: "Y"
      MSSQL_PID: "Express"

最后,有没有配置Docker的交互工具?

标签: dockerdocker-compose

解决方案


阅读https://docs.docker.com/compose/compose-file/compose-file-v3/#volumes 你会想要这样的:

services:
  nopcommerce_web:
    image: nopcommerce:latest
    ports:
      - "80:80"
    depends_on:
      - nopcommerce_database
    volumes:
      - /src/Presentation/Nop.Web/App_Data:/src/Presentation/Nop.Web/App_Data

假设您想以相同的方式安装主机和 docker 容器路径。


推荐阅读