好的网站怎么设计,seo攻略,东莞网站优化方案,使用word做网站前言
在前一篇博文#xff08;什么是 Gitea#xff1f;#xff09;中#xff0c;我们详细介绍了gitea的功能特性#xff0c;以及其与其它git服务器之间的特性多维度对比。
在本文中#xff0c;我们将详细介绍gitea的快捷安装部署#xff0c;docker方式#xff01;
1…
前言
在前一篇博文什么是 Gitea中我们详细介绍了gitea的功能特性以及其与其它git服务器之间的特性多维度对比。
在本文中我们将详细介绍gitea的快捷安装部署docker方式
1. 特殊环境变量介绍
USERgit容器内运行Gitea的用户的用户名。USER_UID1000在容器内运行 Gitea 的用户的 UIDUnix 用户 ID。如果使用主机卷则将其与卷所有者的 UID 匹配/data命名卷则不需要。USER_GID1000在容器内运行 Gitea 的用户的 GIDUnix 组 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: 3networks:gitea:external: falseservices:server:image: gitea/gitea:versioncontainer_name: giteaenvironment:- USER_UID1000- USER_GID1000restart: alwaysnetworks:- giteavolumes:- ./gitea:/data- /etc/timezone:/etc/timezone:ro- /etc/localtime:/etc/localtime:roports:- 3000:3000- 222:223. 基于MySQL数据存储docker部署 要与 MySQL 数据库结合启动 Gitea请将这些更改应用到 docker-compose.yml上面创建的文件。
version: 3networks:gitea:external: falseservices:server:image: gitea/gitea:versioncontainer_name: giteaenvironment:- USER_UID1000- USER_GID1000- GITEA__database__DB_TYPEmysql- GITEA__database__HOSTdb:3306- GITEA__database__NAMEgitea- GITEA__database__USERgitea- GITEA__database__PASSWDgitearestart: alwaysnetworks:- giteavolumes:- ./gitea:/data- /etc/timezone:/etc/timezone:ro- /etc/localtime:/etc/localtime:roports:- 3000:3000- 222:22depends_on:- dbdb:image: mysql:8restart: alwaysenvironment:- MYSQL_ROOT_PASSWORDgitea- MYSQL_USERgitea- MYSQL_PASSWORDgitea- MYSQL_DATABASEgiteanetworks:- giteavolumes:- ./mysql:/var/lib/mysql4. 基于PostgreSQL数据存储docker部署 要与 PostgreSQL 数据库结合启动 Gitea请将这些更改应用到docker-compose.yml上面创建的文件。
version: 3networks:gitea:external: falseservices:server:image: gitea/gitea:versioncontainer_name: giteaenvironment:- USER_UID1000- USER_GID1000- GITEA__database__DB_TYPEpostgres- GITEA__database__HOSTdb:5432- GITEA__database__NAMEgitea- GITEA__database__USERgitea- GITEA__database__PASSWDgitearestart: alwaysnetworks:- giteavolumes:- ./gitea:/data- /etc/timezone:/etc/timezone:ro- /etc/localtime:/etc/localtime:roports:- 3000:3000- 222:22depends_on:- dbdb:image: postgres:14restart: alwaysenvironment:- POSTGRES_USERgitea- POSTGRES_PASSWORDgitea- POSTGRES_DBgiteanetworks:- giteavolumes:- ./postgres:/var/lib/postgresql/data5. 基于docker脚本部署非docker-compose
本安装方式以postgresql为例进行介绍
5.1 创建一个私有子网
# 创建一个私有子网
docker network create compEnvInner;5.2 初始化pg数据库
# 初始化pg数据库
docker run \--restartalways \--privilegedtrue \--networkhost \--shm-size 4G \--net compEnvInner \-p 5432:5432 \-e POSTGRES_DBpostgres \-e POSTGRES_USERpostgres \-e POSTGRES_PASSWORDpassword \-e PGDATA/data/data \-e PGPORT5432 \-e TZAsia/Shanghai \--volume /data/docker-containers/postgres/data:/data/data \--name postgres-comp \-d postgres:16.35.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 --privilegedtrue \--networkcompEnvInner \-e USER_UID1000 \-e USER_GID1000 \-e GITEA__database__DB_TYPEpostgres \-e GITEA__database__HOSTpostgres:5432 \-e GITEA__database__NAMEgitea \-e GITEA__database__USERpostgres \-e GITEA__database__PASSWDpassword \-v /data/docker-containers/gitea:/data \-v /etc/timezone:/etc/timezone:ro \-v /etc/localtime:/etc/localtime:ro \-p 3000:3000 \-p 222:22 \--link postgres-comp:postgres \-d registry.cn-hangzhou.aliyuncs.com/sinhy/gitea:latest6.0 总结
以上重点介绍了四种关于gitea的docker安装部署方法分别是基于docker-compose方式部署的默认的基于SQLite3、基于MySQL安装、基于PostgreSQL安装和最后介绍的纯docker脚本非docker-compose部署。