首页 > 解决方案 > 无法从 Docker 上运行的 Git 存储库中提取

问题描述

我在 2 个 mac 上设置了一个开发环境,其中第一个在 Docker 容器中运行 Gitea(请参阅下面的 docker-compose)。我/etc/hosts在每台 Mac 上为主机名设置了一个条目,gitea并在第一台 Mac 上使用以下命令打开了端口 3333 pfctl

rdr pass log (all) on lo0 inet proto tcp from any to any port 3333 -> 127.0.0.1 port 3333

为简单起见,我现在使用 HTTP,并且可以从两台机器成功浏览到http://gitea:3333 。这证明 mac 2 可以通过 http 访问 mac 1 上的 gitea(通过 docker)。

我在每台 Mac 上都做了一个 git 遥控器:http://gitea:3333/MyOrg/MyProject.git我可以 git pull 并从第一个 mac 推送到 repo,但是当我尝试通过第二个 mac 提取代码时,我收到以下错误:

fatal: http://gitea:3333/MyOrg/MyProject.git/info/refs not valid: is this a git repository?

git remote 使用一个对两台机器都具有写访问权限的帐户进行连接。

docker-compose.yml如下。我已经尝试过 docker compose 版本 2 和 3。我使用 docker 网络为 gitea 容器创建了一个静态 IP。我尝试了各种添加组合,hostnameextra_hosts无法让第二个 mac 从 repo 中提取。

version: '2'

services:
  mariadb:
    image: mariadb
    restart: always
    environment:
      - ...
    volumes:
      - ./mariadb/data:/var/lib/mysql
    command:
      'mysqld --innodb-flush-method=fsync'
    networks:
      giteanet:
        ipv4_address: 172.0.0.11

  gitea:
    image: gitea/gitea
    volumes:
      - ./gitea/data:/data
    ports:
      - '3333:3000'
      - '2222:22'
    depends_on:
      - mariadb
    environment:
      - DB_TYPE=mysql
      - DB_HOST=mariadb:3306
      ...
      - APP_NAME='Gitea'
      - HOST=gitea
    restart: always
    networks:
      giteanet:
        ipv4_address: 172.0.0.10
    hostname: gitea

networks:
  giteanet:
    driver: bridge
    ipam:
      config:
        - subnet: 172.0.0.0/24

标签: gitmacosdockergitea

解决方案


推荐阅读