gpt4 book ai didi

ssh - 运行Docker容器时出错

转载 作者:行者123 更新时间:2023-12-02 21:26:10 26 4
gpt4 key购买 nike

我正在使用以下命令运行docker图像。

docker run -it -p 8080:8080 -p 29418:29418 --rm \  
-e AUTH_TYPE='DEVELOPMENT_BECOME_ANY_ACCOUNT' \
-v /home/gerrit-site:/home/gerrit/site \
-v /home/nidhi/.ssh/id_rsa.pub:/root/.ssh/id_admin_rsa.pub \
-v /home/nidhi/.ssh/id_rsa:/root/.ssh/id_admin_rsa \
-e GERRIT_ADMIN_USER='admin' \
-e GERRIT_ADMIN_EMAIL='admin@fabric8.io' \
-e GERRIT_ADMIN_FULLNAME='Administrator' \
-e GERRIT_ADMIN_PWD='mysecret' \
-e GERRIT_ADMIN_PRIVATE_KEY='/home/gerrit/ssh-keys/id_admin_rsa' \
-e GERRIT_PUBLIC_KEYS_PATH='/home/gerrit/ssh-keys' \
-v /home/nidhi/.ssh:/home/gerrit/ssh-keys \
--name gerrit admin_gerrit

我知道该命令是正确的,因为我之前曾使用过此命令,并且效果很好。但是现在,当我运行此命令时,出现以下错误,
Error response from daemon: Cannot start container 2c9514c3b0d953344e66525d083c7ec3921cb9cde2185f43ec3bec2579597485: stat /home/nidhi/.ssh/id_rsa: permission denied

我检查了 ssh公钥和私钥的许可。许可为700,由nidhi拥有。请有人指出我的错误是什么。

最佳答案

当docker运行时,您容器中的uid可能与主机上的uid不匹配。因此,对于包含具有700个权限的文件的主机卷,容器内的uid将无法读取该卷。我想到了三个选择:

  • 要保留700个权限和相同的图像,您需要在主机上添加文件以匹配容器内的uid。
  • 您可以使用命名卷而不是主机卷,将凭据添加到该命名卷,然后在其中设置权限以匹配将使用该卷的容器。
  • 或者,您可以使用已重建的其他镜像来更改uid以使其与主机上的uid匹配。
  • 关于ssh - 运行Docker容器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37807976/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com