Docker合成,vault和卷不工作
我有一个docker compose文件,其中包含要运行的RabbitMQ、PostgresSQL和Vault,对于此Vault容器,我有一些配置和一个.sh文件来应用这些配置,但当我运行compose文件时,Vault容器中出现了一个错误: “/usr/local/bin/docker-entrypoint.sh:exec:line 104:/vault/config/config.sh:未找到” 我正在使用Windows10Pro 我已经试过了:Docker合成,vault和卷不工作,docker,docker-compose,docker-volume,hashicorp-vault,Docker,Docker Compose,Docker Volume,Hashicorp Vault,我有一个docker compose文件,其中包含要运行的RabbitMQ、PostgresSQL和Vault,对于此Vault容器,我有一些配置和一个.sh文件来应用这些配置,但当我运行compose文件时,Vault容器中出现了一个错误: “/usr/local/bin/docker-entrypoint.sh:exec:line 104:/vault/config/config.sh:未找到” 我正在使用Windows10Pro 我已经试过了: 更新docker(稳定版本) 在WINDO
- 更新docker(稳定版本)
- 在WINDOWS环境变量上设置合成\u转换\u窗口\u路径
- 重置docker并再次共享驱动器
- 作为Windows容器运行
- 基本上都是从
version: "3"
services:
postgres:
container_name: postgres
image: postgres:9.6
ports:
- "5433:5432"
environment:
POSTGRES_USER: <my_user>
POSTGRES_PASSWORD: <my_pass>
POSTGRES_DB: <my_db>
healthcheck:
test: ["CMD-SHELL", "pg_isready -U <my_db>"]
interval: 2s
timeout: 3s
retries: 30
rabbit:
container_name: rabbit
image: rabbitmq:3-management
ports:
- "5673:5672"
- "15673:15672"
healthcheck:
test: ["CMD", "rabbitmqctl", "node_health_check"]
interval: 2s
timeout: 3s
retries: 30
vault:
container_name: vault
image: vault
ports:
- "8201:8200"
volumes:
- ./vault/:/vault/config
environment:
VAULT_ADDR: http://0.0.0.0:8200
VAULT_DEV_ROOT_TOKEN_ID: root
SKIP_SETCAP: 1
links:
- postgres
- rabbit
command: ["/vault/config/config.sh"]
healthcheck:
test: ["CMD", "vault", "status"]
interval: 2s
timeout: 3s
retries: 30
版本:“3”
服务:
博士后:
容器名称:postgres
图片:博士后:9.6
端口:
- "5433:5432"
环境:
POSTGRES_用户:
POSTGRES_密码:
博士后数据库:
健康检查:
测试:[“CMD-SHELL”,“pg_isready-U”]
间隔时间:2秒
超时时间:3s
重试次数:30次
兔子:
货柜名称:rabbit
image:rabbitmq:3-management
端口:
- "5673:5672"
- "15673:15672"
健康检查:
测试:[“CMD”、“rabbitmqctl”、“节点运行状况检查”]
间隔时间:2秒
超时时间:3s
重试次数:30次
拱顶:
容器名称:保险库
图片:保险库
端口:
- "8201:8200"
卷数:
-./vault/:/vault/config
环境:
保险库地址:http://0.0.0.0:8200
VAULT\u DEV\u ROOT\u令牌\u ID:ROOT
跳过设置上限:1
链接:
-博士后
-兔子
命令:[“/vault/config/config.sh”]
健康检查:
测试:[“CMD”、“vault”、“状态”]
间隔时间:2秒
超时时间:3s
重试次数:30次
在Linux上运行正常,问题出在Windows上
如果有人需要更多内容(文件、上下文、代码等),我会添加注释。我假设
config.sh
确实存在于该位置?如果是,行尾是否为LF
?是的,文件夹“vault”与docker compose文件存在于同一目录中,我使用CRLF和LF@dustytrash尝试将命令:[“/vault/config/config.sh”]
更改为命令:tail-F anything
,它将永远运行容器,然后使用docker exec-it vault/bin/sh
在运行的容器中启动shell。然后尝试从容器内的shell运行/vault/config/config.sh
以进行进一步调试。同时,尝试在容器上执行检查
,查看是否存在该位置的卷容器内存在文件,但如果我不在config文件夹中,甚至执行docker exec-it vault/bin/sh,我得到了相同的错误。我假设config.sh
确实存在于该位置?如果是,行尾是否为LF
?是的,文件夹“vault”与docker compose文件存在于同一目录中,我使用CRLF和LF@dustytrash尝试将命令:[“/vault/config/config.sh”]
更改为命令:tail-F anything
,它将永远运行容器,然后使用docker exec-it vault/bin/sh
在运行的容器中启动shell。然后尝试从容器内的shell运行/vault/config/config.sh
以进行进一步调试。同时,尝试在容器上执行检查
,查看是否存在该位置的卷容器内存在文件,但如果我不在config文件夹中,甚至执行docker exec-it vault/bin/sh,我也犯了同样的错误。