我在 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