在Linux上通过Docker容器化部署GitLab是一个相对简单的过程。以下是详细的步骤指南:
打开终端并运行以下命令来拉取GitLab的最新镜像:
docker pull gitlab/gitlab-ce:latest
GitLab需要一些配置文件来设置管理员密码、域名等。你可以创建一个目录来存放这些配置文件:
mkdir ~/gitlab-config
cd ~/gitlab-config
然后创建一个名为gitlab.rb的文件,并添加以下内容:
external_url 'http://your-gitlab-domain.com'
gitlab_rails['lfs_enabled'] = true
gitlab_rails['gitlab_shell_ssh_port'] = 2222
将http://your-gitlab-domain.com替换为你的GitLab实例的域名或IP地址。
使用以下命令来创建并启动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
解释:
--hostname:设置GitLab的主机名。--publish:将容器的端口映射到主机的端口。--name:为容器指定一个名称。--restart:设置容器在退出时自动重启。--volume:挂载主机目录到容器目录,用于持久化数据。为了安全起见,建议为GitLab配置SSL证书。你可以使用Let’s Encrypt来获取免费的SSL证书,并使用Certbot来配置。
首先,安装Certbot和Nginx:
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
然后,运行Certbot来获取并配置SSL证书:
sudo certbot --nginx -d your-gitlab-domain.com
按照提示完成配置。
打开浏览器并访问http://your-gitlab-domain.com,你应该能够看到GitLab的登录页面。使用默认的用户名和密码登录:
rootdocker logs gitlab
查找类似于Default password: your_initial_password的日志信息。通过以上步骤,你可以在Linux上成功部署一个GitLab容器。根据需要,你可以进一步自定义配置文件和Docker容器设置,以满足特定的需求。