Windows 使用 docker 搭建 gitea
目录
一、安装 WSL
二、安装 Docker Desktop
三、修改 Docker Desktop 配置
四、创建 yml 文件
五、使用gitea
六、使用本地的mysql
七、使用镜像容器mysql
一、安装 WSL
win + R 输入 cmd 回车 输入
wsl --install

安装完成后需要重启电脑才能生效
win + R 输入 cmd 回车 输入
wsl --set-default-version 2
wsl --version
查看是否安装成功

二、安装 Docker Desktop
官网:Windows | Docker Docs (可能需要魔法才能打开)
根据自己电脑系统进行选择性安装

三、修改 Docker Desktop 配置
更改镜像源


将内容粘贴进去,然后点击保存重启
{"default-runtime": "nvidia","registry-mirrors": ["https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://dockerproxy.com","https://hub-mirror.c.163.com"],"runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": null}}
}
汉化
确认一下版本

访问: Releases · asxez/DockerDesktop-CN
下载对应的汉化文件

先关闭退出Docker Desktop,要不然修改不了里面的文件,打开路径: C:\Program Files\Docker\Docker\frontend\resources,将原本的app.asar进行备份,改成app.asar.bak,将下载后的汉化文件放在该目录,然后重命名为app.asar

重新打开Docker Desktop就可以看到汉化成功了

四、创建 yml 文件
在电脑任意路径下创建docker-compose.yml文件,将内容粘贴进去保存
version: "3"networks:gitea:external: falseservices:server:image: docker.gitea.com/gitea:latest container_name: gitea environment:- USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=mysql- GITEA__database__HOST=gitea-db:3306 - GITEA__database__NAME=gitea- GITEA__database__USER=root- GITEA__database__PASSWD=123456- GITEA__log__LEVEL=info- GITEA__log__ROOT_PATH=/data/logrestart: always networks:- gitea volumes:- /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:roports:- "3000:3000" - "222:22" depends_on:- db command: |sh -c "mkdir -p /data/log && chown git:git /data/log && /usr/bin/entrypoint"db:image: mysql:8.0.33 container_name: gitea-db environment:- MYSQL_ROOT_PASSWORD=123456 - MYSQL_DATABASE=gitea - MYSQL_ROOT_HOST=% - MYSQL_INITDB_SKIP_TZINFO=1 restart: always networks:- gitea
在docker-compose.yml文件路径下打开命令行窗口,输入
docker-compose up -d
在此过程会拉去镜像和创建容器

五、使用gitea
在浏览器输入http://127.0.0.1:3000

立刻安装后,注册账号就可以正常使用了


六、使用本地的mysql
先在本地的mysql创建名称为gitea的数据库
将以下内容粘贴到docker-compose.yml,根据自己的本地mysql账户名和密码进行修改GITEA__database__USER和GITEA__database__PASSWD
version: "3"networks:gitea:external: false services:server:image: docker.gitea.com/gitea:latest container_name: gitea environment:- USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=mysql- GITEA__database__HOST=host.docker.internal:3306 - GITEA__database__NAME=gitea - GITEA__database__USER=root- GITEA__database__PASSWD=123456- GITEA__log__LEVEL=info- GITEA__log__ROOT_PATH=/data/logrestart: always networks:- gitea volumes:- /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:roports:- "3000:3000" - "222:22" command: |sh -c "mkdir -p /data/log && chown git:git /data/log && /usr/bin/entrypoint"
在docker-compose.yml文件路径下打开命令行窗口,输入
docker -compose -d
运行之前记得把之前创建的容器给删除掉

配置gitea,立刻安装完就可以使用了

七、使用镜像容器mysql
先在镜像容器的mysql创建名称为gitea的数据库
将以下内容粘贴到docker-compose.yml,根据自己的镜像容器的mysql账户名和密码进行修改GITEA__database__USER和GITEA__database__PASSWD,还要查看镜像容器的mysql的容器名称GITEA__database__HOST=容器名称:3306

version: "3"services:gitea:image: docker.gitea.com/gitea:latestcontainer_name: giteaenvironment:- USER_UID=1000- USER_GID=1000- GITEA__database__DB_TYPE=mysql- GITEA__database__HOST=mysql:3306 # 根据自己的容器名称进行修改容器名称:3306- GITEA__database__NAME=gitea- GITEA__database__USER=root- GITEA__database__PASSWD=123456 - GITEA__log__LEVEL=info- GITEA__log__ROOT_PATH=/data/logrestart: alwaysvolumes:- /etc/timezone:/etc/timezone:ro- /etc/localtime:/etc/localtime:roports:- "3000:3000"- "222:22"
在docker-compose.yml文件路径下打开命令行窗口,输入
docker -compose -d
运行之前记得把之前创建的容器给删除掉
配置gitea,立刻安装完就可以使用了


