Docker+Magento: 无法将主机添加到已知主机列表

Docker+Magento: Failed to add the host to the list of known hosts

我正在尝试从 github 克隆出 Magento 2 存储库。我正在使用 docker 容器中的 git 检查代码,因为我正在使用 bin/cli 。我还在 [=38= 中的系统中添加了一个 SSH 密钥] 帐户,但我仍然收到此错误(请参见图片)。当我输入命令 bin/cli git clone git@github.com:magento/magento2.git 时,它给我一个错误。如果你知道这个问题,请帮助我。

docker-compose.yml

## Mark Shust's Docker Configuration for Magento
## (https://github.com/markshust/docker-magento)
##
## Version 42.0.0

## To use SSH, see https://github.com/markshust/docker-magento#ssh
## Linux users, see https://github.com/markshust/docker-magento#linux

## If you changed the default Docker network, you may need to replace
## 172.17.0.1 in this file with the result of:
## docker network inspect bridge --format='{{(index .IPAM.Config 0).Gateway}}'

version: "3"

services:
  app:
    image: markoshust/magento-nginx:1.18-7
    ports:
      - "80:8000"
      - "443:8443"
    volumes: &appvolumes
      - ~/.composer:/var/www/.composer:cached
      - ~/.ssh/id_rsa:/var/www/.ssh/id_rsa:cached
      - ~/.ssh/known_hosts:/var/www/.ssh/known_hosts:cached
      - appdata:/var/www/html
      - sockdata:/sock
      - ssldata:/etc/nginx/certs
    extra_hosts: &appextrahosts
      ## M1 Mac support to fix Docker delay, see #566
      - "app:172.17.0.1"
      - "phpfpm:172.17.0.1"
      - "db:172.17.0.1"
      - "redis:172.17.0.1"
      - "elasticsearch:172.17.0.1"
      - "rabbitmq:172.17.0.1"
      ## Selenium support, replace "magento.test" with URL of your site
      - "magento.test:172.17.0.1"

  phpfpm:
    image: markoshust/magento-php:8.1-fpm-0
    volumes: *appvolumes
    extra_hosts: *appextrahosts
    env_file: env/phpfpm.env

  db:
    image: mariadb:10.4
    command: --max_allowed_packet=64M
    ports:
      - "3306:3306"
    env_file: env/db.env
    volumes:
      - dbdata:/var/lib/mysql
    extra_hosts: *appextrahosts

  redis:
    image: redis:6.2-alpine
    ports:
      - "6379:6379"
    extra_hosts: *appextrahosts

  elasticsearch:
    image: markoshust/magento-elasticsearch:7.16-0
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - "discovery.type=single-node"
      ## Set custom heap size to avoid memory errors
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
      ## Avoid test failures due to small disks
      ## More info at https://github.com/markshust/docker-magento/issues/488
      - "cluster.routing.allocation.disk.threshold_enabled=false"
      - "index.blocks.read_only_allow_delete"
    extra_hosts: *appextrahosts

  rabbitmq:
    image: markoshust/magento-rabbitmq:3.9-0
    ports:
      - "15672:15672"
      - "5672:5672"
    volumes:
      - rabbitmqdata:/var/lib/rabbitmq
    env_file: env/rabbitmq.env
    extra_hosts: *appextrahosts

  mailcatcher:
    image: sj26/mailcatcher
    ports:
      - "1080:1080"
    extra_hosts: *appextrahosts

  ## Blackfire support, uncomment to enable
  #blackfire:
  #  image: blackfire/blackfire:2
  #  ports:
  #    - "8307"
  #  env_file: env/blackfire.env

  ## Selenium support, uncomment to enable
  #selenium:
  #  image: selenium/standalone-chrome-debug:3.8.1
  #  ports:
  #    - "5900:5900"
  #  extra_hosts: *appextrahosts

volumes:
  appdata:
  dbdata:
  rabbitmqdata:
  sockdata:
  ssldata:

Docker Images

Docker Project Root Dir

谢谢。

按照 documentation 中的说明,我能够通过全新安装重现该问题。

正如错误消息所说 Load key "/var/www/.ssh/id_rsa": Is a directory 问题是用于在容器中装载 SSH 密钥的卷设置不正确。这里 id_rsa 挂载为目录,而它是文件。

在服务 app 的音量部分下的 docker-compose.yml 更改行

- ~/.ssh/id_rsa:/var/www/.ssh/id_rsa:cached

- ~/.ssh:/var/www/.ssh:cached