0


gitea docker 快捷安装部署

在这里插入图片描述

前言

在前一篇博文(什么是 Gitea?)中,我们详细介绍了gitea的功能特性,以及其与其它git服务器之间的特性多维度对比。

在本文中,我们将详细介绍gitea的快捷安装部署docker方式!

1. 特殊环境变量介绍

  • USER:git:容器内运行Gitea的用户的用户名。
  • USER_UID:1000:在容器内运行 Gitea 的用户的 UID(Unix 用户 ID)。如果使用主机卷,则将其与卷所有者的 UID 匹配/data(命名卷则不需要)。
  • USER_GID:1000:在容器内运行 Gitea 的用户的 GID(Unix 组 ID)。如果使用主机卷,则将其与卷所有者的 GID 匹配/data(命名卷则不需要)。

2. 最简化安装,数据库基于SQLite3

在这里插入图片描述
最简单的设置只是创建一个卷和一个网络,然后将映像gitea/gitea:latest 作为服务启动。由于没有可用的数据库,可以使用 SQLite3 进行初始化。创建一个目录,如 ,gitea并将以下内容粘贴到名为 的文件中docker-compose.yml。请注意,卷应由配置文件中指定的 UID/GID 的用户/组拥有。如果您没有为卷提供正确的权限,容器可能无法启动。对于稳定版本,您可以使用:latest,**:1**或指定某个版本,如:@version@,但如果您想使用 Gitea 的最新开发版本,那么您可以使用 标签:nightly。如果您想从发布分支运行最新的提交,您可以使用 标签:1.x-nightly,其中 x 是 Gitea 的次要版本。(例如:1.16-nightly

version:"3"networks:gitea:external:falseservices:server:image: gitea/gitea:@version@
    container_name: gitea
    environment:- USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:- gitea
    volumes:- ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:-"3000:3000"-"222:22"

3. 基于MySQL数据存储docker部署

在这里插入图片描述
要与 MySQL 数据库结合启动 Gitea,请将这些更改应用到 docker-compose.yml上面创建的文件

version:"3"networks:gitea:external:falseservices:server:image: gitea/gitea:@version@
    container_name: gitea
    environment:- USER_UID=1000
      - USER_GID=1000
+      - GITEA__database__DB_TYPE=mysql
+      - GITEA__database__HOST=db:3306
+      - GITEA__database__NAME=gitea
+      - GITEA__database__USER=gitea
+      - GITEA__database__PASSWD=gitea
    restart: always
    networks:- gitea
    volumes:- ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:-"3000:3000"-"222:22"+    depends_on:
+      - db
+
+  db:+    image: mysql:8+    restart: always
+    environment:
+      - MYSQL_ROOT_PASSWORD=gitea
+      - MYSQL_USER=gitea
+      - MYSQL_PASSWORD=gitea
+      - MYSQL_DATABASE=gitea
+    networks:
+      - gitea
+    volumes:
+      - ./mysql:/var/lib/mysql

4. 基于PostgreSQL数据存储docker部署

在这里插入图片描述

要与 PostgreSQL 数据库结合启动 Gitea,请将这些更改应用到docker-compose.yml上面创建的文件。

version:"3"networks:gitea:external:falseservices:server:image: gitea/gitea:@version@
    container_name: gitea
    environment:- USER_UID=1000
      - USER_GID=1000
+      - GITEA__database__DB_TYPE=postgres
+      - GITEA__database__HOST=db:5432
+      - GITEA__database__NAME=gitea
+      - GITEA__database__USER=gitea
+      - GITEA__database__PASSWD=gitea
    restart: always
    networks:- gitea
    volumes:- ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:-"3000:3000"-"222:22"+    depends_on:
+      - db
+
+  db:+    image: postgres:14+    restart: always
+    environment:
+      - POSTGRES_USER=gitea
+      - POSTGRES_PASSWORD=gitea
+      - POSTGRES_DB=gitea
+    networks:
+      - gitea
+    volumes:
+      - ./postgres:/var/lib/postgresql/data

5. 基于docker脚本部署,非docker-compose

本安装方式以postgresql为例进行介绍

5.1 创建一个私有子网

# 创建一个私有子网docker network create compEnvInner;

5.2 初始化pg数据库

# 初始化pg数据库docker run \--restart=always \--privileged=true \--network=host \
  --shm-size 4G \--net compEnvInner \-p5432:5432 \-ePOSTGRES_DB=postgres \-ePOSTGRES_USER=postgres \-ePOSTGRES_PASSWORD="password"\-ePGDATA=/data/data \-ePGPORT=5432\-eTZ=Asia/Shanghai \--volume /data/docker-containers/postgres/data:/data/data \--name postgres-comp \-d postgres:16.3

5.3 初始化gitea

这一步尤为关键的是用到docker–link属性,将上一步创建postgresql容器互联在一起!是其在同一个docker网络下能互通!

# –link 容器互联,其他容器名映射为内部容器名称,使用内部容器名称就可以访问外部容器# --link container_a:alias_name# container_a是已存在的容器名称。alias_name是可选的别名,如果未指定,则默认为container_a的容器名。docker run -it--name gitea --restart always --privileged=true \--network=compEnvInner \-eUSER_UID=1000\-eUSER_GID=1000\-eGITEA__database__DB_TYPE=postgres \-eGITEA__database__HOST=postgres:5432 \-eGITEA__database__NAME=gitea  \-eGITEA__database__USER=postgres  \-eGITEA__database__PASSWD="password"\-v /data/docker-containers/gitea:/data \-v /etc/timezone:/etc/timezone:ro \-v /etc/localtime:/etc/localtime:ro \-p3000:3000 \-p222:22 \--link postgres-comp:postgres \-d registry.cn-hangzhou.aliyuncs.com/sinhy/gitea:latest

6.0 总结

以上重点介绍了四种关于gitea的docker安装部署方法,分别是基于docker-compose方式部署的默认的基于SQLite3基于MySQL安装基于PostgreSQL安装最后介绍的纯docker脚本(非docker-compose)部署


本文转载自: https://blog.csdn.net/lilinhai548/article/details/140978759
版权归原作者 码踏云端 所有, 如有侵权,请联系我们删除。

“gitea docker 快捷安装部署”的评论:

还没有评论