在Linux上进行GitLab的容器化部署是一个相对简单且高效的方法,可以省去手动安装和配置的繁琐步骤。以下是一些关键经验和步骤:
docker run
命令拉取GitLab镜像:
docker pull gitlab/gitlab-ce:latest
创建并启动GitLab容器:
docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 \ --publish 80:80 \ --publish 22:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest
访问GitLab:
http://gitlab.example.com
,按照提示设置管理员账号和密码。docker-compose
创建 docker-compose.yml
文件:
version: '3.6' services: gitlab: image: gitlab/gitlab-ce:latest container_name: gitlab restart: always ports: - '5480:80' - '5443:443' - '5022:22' volumes: - './config:/etc/gitlab' - './logs:/var/log/gitlab' - './data:/var/opt/gitlab' shm_size: '256m'
启动GitLab容器:
docker-compose up -d
进入容器并设置初始root密码:
docker exec -it gitlab /bin.bash cat /etc/gitlab/initial_root_password
访问GitLab:
修改外部URL:
docker exec -it gitlab /bin.bash vi /etc/gitlab/gitlab.rb
external_url
配置项为你的服务器地址。启用HTTPS(可选):
gitlab.rb
文件,添加或修改以下配置:letsencrypt['enabled'] = true letsencrypt['contact_emails'] = ['your.email@example.com']
gitlab-ctl reconfigure gitlab-ctl restart
数据持久化:
端口映射:
安全性:
防火墙设置:
通过以上步骤,你就可以在Linux上成功部署GitLab,并享受容器化带来的便利和高效。