【Docker】之安装 GitLab
一,介绍
GitLab 分为社区版(Community Edition,缩写为 CE)和 企业版(Enterprise Edition,缩写为 EE)。社区版是免费的,而企业版包含一些收费服务,一般来说个人开发者用社区版就足够了。
二,开始安装
Mac OS X
下操作
基于Docker在Mac OS X
系统中的部署和设置GitLab的具体过程如下:
- 搜索Gitlab
docker search gitlab
- 下载
Gitlab
镜像docker pull gitlab/gitlab-ce:latest
- 查看
Gitlab
镜像文件docker images
- 创建
Gitlab
挂载目录,日志,数据,配置的路径
通常会在构建容器的时间,会把配置 (etc) 、 日志 (log) 、数据 (data) 放到容器外面,方便后期数据迁移或者修改配置,在~/docker/gitlab
下分别创建etc,logs,data
目录:cd ~/docker mkdir -p ./gitlab/etc mkdir -p ./gitlab/logs mkdir -p ./gitlab/data
- 创建docker中的网络
查看docker network create gitlab_net
docker network ls
- 使用镜像启动
Gitlab
容器
命令解释:docker run -d \ -e TZ=Asia/Shanghai \ --name mygitlab \ --net=gitlab_net \ --privileged=true \ --restart unless-stopped \ -p 6443:443 \ -p 82:82 \ -p 6022:22 \ -v /Users/lizhang/docker/gitlab/etc:/etc/gitlab \ -v /Users/lizhang/docker/gitlab/logs:/var/log/gitlab \ -v /Users/lizhang/docker/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest
-e TZ=Asia/Shanghai 时间同步 -i 以交互模式运行容器,通常与 -t 同时使用命令解释: -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用 -d 后台运行容器,并返回容器ID -p 82:82 将容器内82端口映射至宿主机82端口,这是访问gitlab的端口 -p 6022:22 将容器内22端口映射至宿主机6022端口,这是访问ssh的端口 vim ~/.ssh/config HOST gitlab.xxx.com HOSTNAME gitlab.xxx.com port 6022 -p 6443:443 将容器内443端口映射至宿主机6443端口,这是访问https的端口 –-name 设置容器的名字; --restart 使用unless-stopped 作为重启策略,因为这样可以手工停止容器,方便维护。 --privileged=true 让容器获取宿主机root权限 -v 将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录 gitlab/gitlab-ce:latest 镜像的名称,这里也可以写镜像ID
- 配置
vi ~/docker/gitlab/config/gitlab.rb
external_url 'http://192.168.3.3:82' nginx['redirect_http_to_https_port'] = 82 nginx['listen_port'] = 82 gitlab_rails['gitlab_shell_ssh_port'] = 6022 :wq #保存配置文件并退出
# 重启gitlab容器 docker restart mygitlab
- 登陆
输入:http://192.168.3.3:82
- 进入容器
docker exec -it mygitlab /bin/bash gitlab-ctl restart 重启gitlab exit 退出容器
Centos 8
下操作
基于Docker在Centos 8
系统中的部署和设置GitLab的具体过程如下:
同上;
三、PS
- 中文设置
在User Settings > Profile > Preferred language
设置 - 如果页面访问出现502
或# 修改下权限 docker exec -it gitlab update-permissions
确保Docker内存大于4G