在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,并享受容器化带来的便利和高效。