无效的挂载路径:'db' 挂载路径必须是绝对的

时间:2021-02-27 14:30:30

标签: docker docker-compose amazon-dynamodb

以下是我的 docker 文件:

<块引用>
FROM amazon/dynamodb-local
WORKDIR /home/dynamodblocal
RUN mkdir ./db && chown -R 1000 ./db
CMD ["-jar", "DynamoDBLocal.jar", "-dbPath", "./db", "-sharedDb"]
VOLUME ["./db"]

以下是docker compose文件:

<块引用>
version: "3.3" 
services:   
dynamodb:
build:
  context: .
  dockerfile: dynamodb/Dockerfile
container_name: email_dynamo
ports:
  - "8000:8000"
volumes:
  - dynamodb-local:/home/dynamodblocal/db   
seed:
image: amazon/aws-cli
container_name: email_dynamo_seed
links:
  - dynamodb
depends_on:
  - dynamodb
command: sh -c "~/seed/seed.sh"
entrypoint: []
volumes:
  - ~/.aws:/root/.aws
  - ./seed:/root/seed 
volumes:   
   dynamodb-local:
    driver: local

当我尝试运行 docker-compose up 时,出现以下错误:

<块引用>

使用本机构建构建。在此处了解 Compose 中的本机构建: https://docs.docker.com/go/compose-native-build/ 重建 89162581ebc2_email_dynamo ...错误

错误:对于 89162581ebc2_email_dynamo 无法创建容器 服务 dynamodb:无效的卷规格: '6cf8eb4d8edc2203adc35064b97ce90adc306c1e136a77a2e5e6203647564cd5:db:rw': 类型“volume”的安装配置无效:安装路径无效:“db”安装 路径必须是绝对的

错误:对于 dynamodb 无法为服务 dynamodb 创建容器: 无效的体积规格: '6cf8eb4d8edc2203adc35064b97ce90adc306c1e136a77a2e5e6203647564cd5:db:rw': 类型“volume”的安装配置无效:安装路径无效:“db”安装 路径必须是绝对错误:启动时遇到错误 项目。

1 个答案:

答案 0 :(得分:1)

VOLUME 选项中的路径必须是容器中的现有路径。在您的情况下需要将 VOLUME ["./db"] 更改为:VOLUME ["/home/dynamodblocal/db"]

WORKDIR 只为RUNCMDENTRYPOINTCOPY 设置默认目录ADD 命令。 不适用于 VOLUME!