本文主要是介绍部署轻量级Gitea替代GitLab进行版本控制(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
version: '3.9'
# 创建自定义网络
networks:gitea:name: giteadriver: bridgeservices:## 数据库服务db:image: postgres:latestcontainer_name: gitea_dbrestart: alwaysnetworks:- gitea # 加入到gitea网络ports:- 3003:5432environment:- POSTGRES_USER=gitea # PGSQL默认用户- POSTGRES_PASSWORD=gitea # PGSQL默认密码- POSTGRES_DB=gitea # PGSQL默认数据库volumes:- /volumes/gitea/db:/var/lib/postgresql/data#gitea服务server:image: gitea/gitea:latestcontainer_name: gitea_serverrestart: alwaysnetworks:- gitea # 加入到gitea网络ports:- '3000:3000' # HTTP服务端口- '3001:22' # SSH服务器端口environment:- USER_UID=1000 # 运行容器使用的 UID UID和GID是用于匿名数据卷挂载,- USER_GID=1000 # 运行容器使用的 GID- APP_NAME=gitea- PROTOCOL=http # 服务使用的访问协议- HTTP_PORT=3000 # HTTP 侦听端口 默认为3000- SSH_PORT=22 # 克隆 URL 中显示的 SSH 端口- DOMAIN=82.157.55.94:3000 # UI显示的 HTTP克隆URL- LANDING_PAGE=explore- ROOT_URL=http://82.157.55.94:3000 # 服务器的对外 URL- DB_TYPE=postgres # 数据库类型- DB_HOST=db # 数据库连接地址, 使用network形式连接, serverName或者 containerName- DB_NAME=gitea # 数据库名称- DB_USER=gitea # 数据库连接用户- DB_PASSWD=gitea # 数据库连接密码- DISABLE_REGISTRATION=true # 禁用用户注册,启用后只允许管理员添加用户- SHOW_REGISTRATION_BUTTON=false # 是否显示注册按钮- REQUIRE_SIGNIN_VIEW=true # 是否所有页面都必须登录后才可访问volumes:- /volumes/gitea/server/data:/data- /volumes/gitea/server/config:/etc/config- /volumes/gitea/server/timezone:/etc/timezone:ro- /volumes/gitea/server/localtime:/etc/localtime:rodepends_on:- db
在Dockerfile
配置文件中部署了两个容器: 一个是 Postgres
(数据库)服务,一个是 Gitea
服务。
使用 networks 添加了一个自定义网络。 两个容器都加入这个自定义网络中,使用自定义网络进行通讯。
PS:Docker
中, 提供了一个network
模块。同属于一个network
下的容器可以使用 容器名称、 服务名称 直接通讯。
Postgres
服务中通过环境变量设置了默认的数据库、用户名称和用户密码信息。
Gitea
服务中通过环境变量设置了 运行容器的 UID
、GID
,HTTP 监听端口、UI 上显示的克隆 URL。连接数据库、禁用注册等信息,至于还有其它参数,可以自行查询
Gitea
端口号映射了两个 3000、3001,分别是 HTTP
访问和 SSH
访问,不过现在基本上都使用 HTTP ,
SSH` 可以使用参数禁用
在配置文件中有一个 depends_on 属性,这个属性是控制部署顺序的。意思是 Gitea
部署依赖 postgres
部署
使用这个配置安装成功后,会成功部署两个容器
和创建一个 network
,成功后可以进行访问Gitea
安全验证 - 知乎
这篇关于部署轻量级Gitea替代GitLab进行版本控制(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!