我在github上问了同样的问题,但没有回应。所以,我认为这里可能是提出这种编码问题的更好地方,因为这是我尝试做一些编码工作时的问题。
我想在装有 macOS 10.14.x 的 MacBook Pro 上使用 docker 设置气流。
我得到了 zpencerq/docker-airflow:1.10.2 并按照 https://docs.docker.com/compose/install/#install-compose 中的说明进行操作
另外,我已经按照以下说明设置了ssh代理转发 https://github.com/uber-common/docker-ssh-agent-forward
当我运行时:
docker-compose up -d
我得到了:
Collecting my-data-store from git+ssh://git@github.com/my-data-store.git@v.xx.xx.x#egg=my-data-store
Cloning ssh://git@github.com/my-data-store.git to /my/local/path
Permission denied (publickey).
fatal: Could not read from remote repository.
我已经创建了 ssh 公钥,并在我的 git 配置文件中添加了 ssh 公钥。我还添加了我的私钥。
对于这类问题,我尝试了一些答案,但没有一个有效。
如果我在Mac终端中运行以下命令,它运行良好。
git clone -q ssh://git@github.com/my_path/my-data-store.git /tmp/my_folder
为什么docker-compose不能做同样的事情来访问github?
我错过了什么吗?
听起来你还没有添加你的密钥。从您的OSX终端内部尝试此操作...
ssh-add
然后重试。
为什么docker-compose不能做同样的事情来访问github?
因为它(码头工人(会在$HOME/.ssh/id_rsa(.pub)
中查找您的密钥。
当您从 Mac 执行git clone -q ssh://git@github.com/...
时,$HOME是您的常规主目录。
但是从容器中,默认情况下它是/root
的,或者是用户的一个。
应在docker-compose.yml
中装载这些密钥(或使用机密(。
您可以添加到容器环境
-e GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -o User=<github user> -i <private key>"
什么时候通过 ssh-keygen 制作全键文本