dos啥也不会

以需求为导向学习

docker运行gitlab

在Linux系统下使用gitlab官方预配置容器部署gitlab,该容器包含gitlab运行所需的所有组件,占用较大,但是适合新手部署.本文仅供测试使用.不建议在生产环境使用相同配置部署

软件及系统版本:
CentOS 7.6.1810(腾讯云轻量服务器)
gitlab 14.6.1
docker 23.0.1

容器启动命令

1
2
3
4
5
6
7
8
9
10
sudo docker run --detach \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.100.1:1080/'; gitlab_rails['gitlab_shell_ssh_port'] = 1022;" \
--publish 1080:1080 --publish 1022:1022 \
--name gitlab \
--restart always \
--volume /var/gitlab/config:/etc/gitlab \
--volume /var/gitlab/logs:/var/log/gitlab \
--volume /var/gitlab/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest

如果使用域名的话可以加一个--hostname gitlab.example.com的参数,同时要修改external_url对应的地址为http://gitlab.example.com:1080/

命令解释

GITLAB_OMNIBUS_CONFIG这个环境变量用于在容器启动时修改gitlab的配置(官方文档里称为pre config)这里主要修改了web端口(同时也会作为https clone的地址)和ssh端口,默认情况下web服务在80和443端口,ssh在22端口.使用docker的时候需要注意如果修改了端口,那么映射端口的时候需要用修改后的端口.启动后管理员密码会保存在容器/etc/gitlab/initial_root_password文件中,安装完成后24小时会自动删除.--shm-size是docker共享内存大小的参数,没研究过

初始化设置

gitlabd 某些设置无法通过gui修改,需要修改配置文件.docker启动场景可以参考官方文档进行配置.

参考 https://docs.gitlab.com/ee/install/docker.html#pre-configure-docker-container