以下是我的 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”安装 路径必须是绝对错误:启动时遇到错误 项目。
答案 0 :(得分:1)
VOLUME 选项中的路径必须是容器中的现有路径。在您的情况下需要将 VOLUME ["./db"]
更改为:VOLUME ["/home/dynamodblocal/db"]
WORKDIR 只为RUN、CMD、ENTRYPOINT、COPY 设置默认目录 和 ADD 命令。 不适用于 VOLUME!