git - 无法从 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。我尝试了各种添加组合,hostname
但extra_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
解决方案
推荐阅读
- amazon-web-services - 添加从自定义资源获取属性的条件
- vim - 在 vim 中获取文档的实时字数
- ldap - gitlab 错误:尝试通过 LDAP/AD 登录 UI 时,无法从 LDAP 授权您,因为“凭据无效”
- python - 熊猫:动态查找当前星期的星期天的日期并放置在数据框中的空单元格中
- php - 如何在php中使用xpath读取具有相同多个节点名的xml内容?
- javascript - 使用正则表达式拆分字符串会产生意想不到的结果
- c# - Lync SDK BeginSendMessage AsyncCallback
- queue - Hazelcast 使用 EntryProcessor executeOnEntries 入队
- android-layout - 带有导航组件的单个 Activity:如何处理不同的 AppBar / 主题
- html - 具有动态大小的子项的容器的 CSS 滚动