月下博客

Docker部署GitLab开启ssl详细教程,使用Docker快速部署GitLab搭建私人仓库

Docker 安装

CentOS 7安装Docker

直接通过 yum 安装即可:

yum -y install docker-io

成功安装后,就能开启 Docker 服务:

service docker start

设置 Docker 开机自启动:

systemctl enable docker

Ubuntu安装Docker

跟 CentOS 类似,安装也非常方便):

#获取源最新的包
sudo apt-get update

#安装
sudo apt install docker.io

安装完成后,启动 Docker 服务并使其每次在系统启动时启动:

systemctl start dockersystemctl enable docker

下载Docker镜像

一句命令即可:

docker pull gitlab/gitlab-ce:latest

创建容器

镜像官方文档在https://docs.gitlab.com/omnibus/docker,有比较详细的说明。这里简单介绍一下:

以一个简单的例子示范如何创建容器。这里使用默认的 SSH、HTTP 和 HTTPS 端口,设定可通过 git.zhaozhuji.net 域名访问 GitLab,并把容器的数据保存在/gitlab路径中:

sudo docker run --detach /
--hostname git.zhaozhuji.net /
--publish 443:443 --publish 80:80 --publish 22:22 /
--name gitlab /
--restart always /
--volume /gitlab/config:/etc/gitlab /
--volume /gitlab/logs:/var/log/gitlab /
--volume /gitlab/data:/var/opt/gitlab /
gitlab/gitlab-ce:latest

创建成功后,就可以通过域名打开 GitLab。首次访问需要重新设定密码。如果不想使用域名,把–hostname git.zhaozhuji.net /一行去掉就行。


如果想使用其它端口,比如把 GitLab 的 SSH 端口改为 888,则在–publish 机器端口:容器端口中修改即可:

sudo docker run --detach /
--hostname git.zhaozhuji.net /
--publish 443:443 --publish 80:80 --publish 888:22 /
--name gitlab /
--restart always /
--volume /gitlab/config:/etc/gitlab /
--volume /gitlab/logs:/var/log/gitlab /
--volume /gitlab/data:/var/opt/gitlab /
gitlab/gitlab-ce:latest

注意,如果要更改默认端口,同样需要修改配置文件gitlab.rb:

打开运行的容器中的配置文件:

sudo docker exec -it gitlab vi /etc/gitlab/gitlab.rb

配置文件中有各个配置的说明。如果需要修改相应项目,需要去掉注释(行开头的#号)再修改,或者直接参照说明在配置文件中写入新的。以修改端口为例,在配置文件中找到gitlab_rails['gitlab_shell_ssh_port']一项,去掉开题的#,并把端口改为新的端口(也可以直接在配置文件中加入下面一行):

gitlab_rails['gitlab_shell_ssh_port'] = 888

保存配置文件后,重启容器:

sudo docker restart gitlab

使用 SSL

待补充,可参考:

Docker版本Omnibus-Gitlab启用ssl允许HTTPS访问

配置使用外部 nginx

待补充,可参考:

docker安装部署gitlab配置使用外部nginx

如果要禁止通过 ip 的方式访问,只允许域名访问 GitLab,可在 nginx 配置文件中加入:

server {
 listen *:80;
 listen *:443;
 server_name _;
 server_tokens off;
 deny all;
 access_log  off;
 error_log   /var/log/gitlab/nginx/gitlab_error.log;  # 错误日志的存放路径自己设定
}

官方QQ群号码:922069959(空)1093596563(空)

您可能感兴趣的文章