• 部署轻量级Gitea替代GitLab进行版本控制(二)


    1. version: '3.9'
    2. # 创建自定义网络
    3. networks:
    4. gitea:
    5. name: gitea
    6. driver: bridge
    7. services:
    8. ## 数据库服务
    9. db:
    10. image: postgres:latest
    11. container_name: gitea_db
    12. restart: always
    13. networks:
    14. - gitea # 加入到gitea网络
    15. ports:
    16. - 3003:5432
    17. environment:
    18. - POSTGRES_USER=gitea # PGSQL默认用户
    19. - POSTGRES_PASSWORD=gitea # PGSQL默认密码
    20. - POSTGRES_DB=gitea # PGSQL默认数据库
    21. volumes:
    22. - /volumes/gitea/db:/var/lib/postgresql/data
    23. #gitea服务
    24. server:
    25. image: gitea/gitea:latest
    26. container_name: gitea_server
    27. restart: always
    28. networks:
    29. - gitea # 加入到gitea网络
    30. ports:
    31. - '3000:3000' # HTTP服务端口
    32. - '3001:22' # SSH服务器端口
    33. environment:
    34. - USER_UID=1000 # 运行容器使用的 UID UID和GID是用于匿名数据卷挂载,
    35. - USER_GID=1000 # 运行容器使用的 GID
    36. - APP_NAME=gitea
    37. - PROTOCOL=http # 服务使用的访问协议
    38. - HTTP_PORT=3000 # HTTP 侦听端口 默认为3000
    39. - SSH_PORT=22 # 克隆 URL 中显示的 SSH 端口
    40. - DOMAIN=82.157.55.94:3000 # UI显示的 HTTP克隆URL
    41. - LANDING_PAGE=explore
    42. - ROOT_URL=http://82.157.55.94:3000 # 服务器的对外 URL
    43. - DB_TYPE=postgres # 数据库类型
    44. - DB_HOST=db # 数据库连接地址, 使用network形式连接, serverName或者 containerName
    45. - DB_NAME=gitea # 数据库名称
    46. - DB_USER=gitea # 数据库连接用户
    47. - DB_PASSWD=gitea # 数据库连接密码
    48. - DISABLE_REGISTRATION=true # 禁用用户注册,启用后只允许管理员添加用户
    49. - SHOW_REGISTRATION_BUTTON=false # 是否显示注册按钮
    50. - REQUIRE_SIGNIN_VIEW=true # 是否所有页面都必须登录后才可访问
    51. volumes:
    52. - /volumes/gitea/server/data:/data
    53. - /volumes/gitea/server/config:/etc/config
    54. - /volumes/gitea/server/timezone:/etc/timezone:ro
    55. - /volumes/gitea/server/localtime:/etc/localtime:ro
    56. depends_on:
    57. - db

    Dockerfile 配置文件中部署了两个容器: 一个是 Postgres(数据库)服务,一个是 Gitea服务。

    使用 networks 添加了一个自定义网络。 两个容器都加入这个自定义网络中,使用自定义网络进行通讯。

    PS:  Docker 中, 提供了一个  network 模块。同属于一个  network 下的容器可以使用  容器名称服务名称 直接通讯。

    Postgres 服务中通过环境变量设置了默认的数据库、用户名称和用户密码信息。

    Gitea 服务中通过环境变量设置了 运行容器的 UIDGID,HTTP 监听端口、UI 上显示的克隆 URL。连接数据库、禁用注册等信息,至于还有其它参数,可以自行查询

    Gitea 端口号映射了两个 30003001,分别是 HTTP访问和 SSH 访问,不过现在基本上都使用 HTTP ,SSH` 可以使用参数禁用

    在配置文件中有一个 depends_on 属性,这个属性是控制部署顺序的。意思是 Gitea 部署依赖 postgres 部署

    使用这个配置安装成功后,会成功部署两个容器和创建一个 network,成功后可以进行访问Gitea

    安全验证 - 知乎

  • 相关阅读:
    【AI理论学习】CNN模型演变:从VGGNet到EfficientNet
    Explain执行计划字段解释说明---possible_keys、key、key_len、ref、rows、filtered字段说明
    Java EE初阶---HTML
    shell编程
    java---IO流:特殊操作流
    kafka日志文件详解及生产常见问题总结
    为何学linux及用处
    SpringBoot 08 MVC扩展配置的原理
    java面试题基础第七天
    教程 - 深度探讨在 Vue3 中引入 CesiumJS 的最佳方式
  • 原文地址:https://blog.csdn.net/qq_42672770/article/details/137982648