Concourse docker 网络组件无法 运行

Concourse docker web component fails to run

我正在尝试从 3.5.0 docker 图像 运行 Concourse 并使用 docker-compose.yml 示例作为模板。 我为连接创建了一个桥接 docker 网络,然后启动了 postgres docker 容器,在目录 web 和 worker 中创建了密钥。 网络包含;

authorised_worker_keys (which is the public key worker_key.pub) 
session_signing_key                               
session_signing_key.pub 
tsa_host_key 
tsa_host_key.pub

工人一包含;

tsa_host_key.pub worker_key worker_key.pub

然后在同一 docker 网络中启动了一个网络实例;

docker run -d -p 8080:8080 \
-e "CONCOURSE_EXTERNAL_URL=http://XXX.XXX.XXX.XXX:8080" \
-e "CONCOURSE_BASIC_AUTH_USERNAME=concourse" \
-e "CONCOURSE_BASIC_AUTH_PASSWORD=changeme" \
-e "CONCOURSE_POSTGRES_HOST=concourse-db" \
-e "CONCOURSE_POSTGRES_USER=concourse" \
-e "CONCOURSE_POSTGRES_PASSWORD=changeme" \
-e "CONCOURSE_POSTGRES_DATABASE=concourse" \
--name=concourse-web \
--net=concourse_network \
-v web:/concourse-keys \
concourse/concourse web

此 Web 容器失败并记录

failed to load authorised keys: open : no such file or directory

如果我在 postgres 容器中执行 shell 并使用 psql 登录,我可以看到数据库已经为 concourse 添加了一些表,因此连接一定有效。

当我启动它时,工作容器启动并保持 运行ning;

docker run -d \
--name=concourse-worker-1 \
--privileged \
--net=concourse_network \
-v worker:/concourse-keys
-e "CONCOURSE_TSA_HOST=concourse-web" \
concourse/concourse worker

有没有人知道是什么导致了 "failed to load authorized keys" 消息,请问我该如何解决? 如果我 运行 它来自 docker 在我的笔记本电脑上撰写是完美的,但我不能 运行 docker 在我们的环境中撰写。

我发现了这个问题并在今天早上纠正了它,所以我会 post 在这里让其他人从我的愚蠢中吸取教训。顺便说一句,我通过比较 docker 检查从 docker-compose 文件开始的容器的输出和我在其他环境中的输出来解决这个问题。

安装需要完整路径而不是相对路径,即

-v /home/concourse/keys/web:/concourse-keys

-v /home/concourse/keys/worker:/concourse-keys

感谢阅读。