-
Docker 迁移 Gitea 到新的服务器
一、迁移前的准备 在新服务器上安装 Docker 和 Docker Compose: # 安装 Dockercurl -fsSL https://get.docker.com | sh# 安装 Docker Composesudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose 二、备份现有的 Gitea 数据 在旧服务器上备份 Gitea 数据(假设容器名 gitea,数据挂载在 /mnt/gitea): # 停止 Gitea 容器docker stop gitea# 备份数据卷mkdir ~/gitea_backupdocker cp gitea:/data ~/gitea_backup/# 压缩备份数据tar -czf ~/gitea_backup.tar.gz ~/gitea_backup 三、导出 Docker 镜像 导出 Gitea 镜像: # 查看镜像 IDdocker images# 导出镜像docker save -o ~/gitea_image.tar <gitea_image_id> 四、迁移到新服务器 将备份数据和镜像传输到新服务器: # 使用 scp 传输(替换相应 IP 和路径)scp ~/gitea_backup.tar.gz <new_server_ip>:/path/to/scp ~/gitea_image.tar <new_server_ip>:/path/to/ 五、在新服务器上恢复 Gitea 加载镜像并创建运行环境: # 加载镜像docker load -i /path/to/gitea_image.tar# 创建数据目录mkdir -p /mnt/gitea# 解压备份数据tar -xzf /path/to/gitea_backup.tar.gz -C ~/mv ~/gitea_backup/data/* /mnt/gitea/# 创建 docker-compose.ymlcat <<EOF > ~/docker-compose.ymlversion: '3'services: gitea: image: <your_gitea_image>:<tag> container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 volumes: - /mnt/gitea:/data ports: - "3000:3000" - "22:22" restart: alwaysEOF 启动 Gitea: cd ~docker-compose up -d 六、验证迁移结果 在浏览器访问新服务器的 IP 地址(如 http://<new_server_ip>:3000),确认 Gitea 正常运行。 七、结尾 通过以上步骤,您可以成功地将 Gitea 从旧服务器迁移到新服务器。在整个迁移过程中,确保备份数据的完整性和安全性至关重要。根据需要,您还可以调整 docker-compose.yml 文件中的配置参数,以优化 Gitea 的性能和可用性。 如果使用的MySQL是容器外的,记得给数据库上一个可以访问的权限,或开放3306端口。- 69
- 0

