环境背景:
Docker化已经成为一种热门,记录一下使用docker引擎安装gitlab的过程。
测试环境:
系统 | 软件 | 依赖 |
CentOS 7.4 | GitLab(latest) | docker-ce 18 |
安装过程:
1. 安装docker引擎并启动
[[email protected] ~]# yum install docker-ce -y //需要去官方下载docker.repo文件 [[email protected] ~]# systemctl enable docker [[email protected] ~]# systemctl start docker
2. 获取gitlab镜像包
[[email protected] ~]# docker pull gitlab/gitlab-ce //里面集成的东西较多,镜像可能比较大
查看下载好的镜像
[[email protected] logs]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE gitlab/gitlab-ce latest 991cd608c116 2 weeks ago 1.59GB
3. 在本机准备gitlab工作目录
[[email protected] ~]# mkdir -p /data/docker/gitlab/{config,data,logs}
以上在本机建立的3个目录是为了gitlab容器通过挂载本机目录启动后可以映射配置文件,数据文件,日志文件到本机,然后后续就可以直接在本机查看和编辑了,不用再进容器操作。
4. 启动gitlab(关键步骤)
docker run -d --name gitlab --hostname gitlab --restart always -p 4443:443 -p 8888:80 -p 2222:22 -v /data/docker/gitlab/config:/etc/gitlab -v /data/docker/gitlab/data:/var/opt/gitlab -v /data/docker/gitlab/logs:/var/log/gitlab gitlab/gitlab-ce:latest
说明:
-d:后台运行
--name:设置容器的名字;
--hostname:设置容器内主机的名字;
--restart:设置容器的重启策略,可选项: no | on-failure[:max-retries] | always | unless-stopped ;
-p(小写字母):映射端口,形式:[hostPort:]containerPort,如果不加主机端口,那么会在主机上生成随机端口;
-v(小写字母):挂载目录,形式:[HOST-DIR:]CONTAINER-DIR;
4. 检查启动信息
[[email protected] ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3c8cdd184582 gitlab/gitlab-ce:latest "/assets/wrapper" About a minute ago Up About a minute (health: starting) 0.0.0.0:2222->22/tcp, 0.0.0.0:8888->80/tcp, 0.0.0.0:4443->443/tcp gitlab
启动需要一些时间,过一段时间后再次查看
[[email protected] logs]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3c8cdd184582 gitlab/gitlab-ce:latest "/assets/wrapper" 3 minutes ago Up 3 minutes (healthy) 0.0.0.0:2222->22/tcp, 0.0.0.0:8888->80/tcp, 0.0.0.0:4443->443/tcp gitlab
再查看本机端口状态
[[email protected] ~]# netstat -tnl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::2222 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::8888 :::* LISTEN tcp6 0 0 :::4443 :::* LISTEN
查看本机为gitlab容器新建的工作目录内容
[[email protected] ~]# tree -L 2 /data/docker/gitlab/ /data/docker/gitlab/ ├── config │ ├── gitlab.rb // 主要配置文件 │ ├── gitlab-secrets.json │ ├── ssh_host_ecdsa_key │ ├── ssh_host_ecdsa_key.pub │ ├── ssh_host_ed25519_key │ ├── ssh_host_ed25519_key.pub │ ├── ssh_host_rsa_key │ ├── ssh_host_rsa_key.pub │ └── trusted-certs ├── data │ ├── backups │ ├── git-data │ ├── gitlab-ci │ ├── gitlab-rails │ ├── gitlab-shell │ ├── logrotate │ ├── postgresql │ ├── redis │ └── trusted-certs-directory-hash └── logs ├── gitlab-rails ├── gitlab-shell ├── logrotate ├── postgresql ├── reconfigure ├── redis ├── sidekiq ├── sshd └── unicorn
[[email protected] ~]# tree -L 2 /data/docker/gitlab/ /data/docker/gitlab/ ├── config │ ├── gitlab.rb // 主要配置文件 │ ├── gitlab-secrets.json │ ├── ssh_host_ecdsa_key │ ├── ssh_host_ecdsa_key.pub │ ├── ssh_host_ed25519_key │ ├── ssh_host_ed25519_key.pub │ ├── ssh_host_rsa_key │ ├── ssh_host_rsa_key.pub │ └── trusted-certs ├── data │ ├── backups │ ├── git-data │ ├── gitlab-ci │ ├── gitlab-rails │ ├── gitlab-shell │ ├── logrotate │ ├── postgresql │ ├── redis │ └── trusted-certs-directory-hash └── logs ├── gitlab-rails ├── gitlab-shell ├── logrotate ├── postgresql ├── reconfigure ├── redis ├── sidekiq ├── sshd └── unicorn
以上可以看出里面集成的东西还是挺多的。
5. 登录gitlab
在浏览器输入安装gitlab容器的主机地址,形式 IP:PORT
首次登录设置新密码,然后进入下一页登录界面,用户名:root,密码:<上一页设定的密码 >
后面就可以使用了。
6. 排错
如果初始登录浏览器出现502那么请检查是否端口冲突,修改文件gitlab.rb相关端口项 unicorn[‘port‘] =PORT;
也可以根据logs目录中的信息跟踪查询,如果出现GitLab external URL must include a schema and FQDN,请尝试修改gitlab.rb文件中的配置项格式 external_url = ‘gitlab.xxx.com‘ 或者 external_url ‘http://138.138.82.10‘。
7. 更新GitLab
如果采用上述安装方法,更新变的很简单:停止gitlab容器,删除停止的gitlab容器,获取新镜像,再次使用原来的启动命令启动出一个新gitlab容器即可。不用担心数据丢失,只要挂载目录与之前一致,就会自动读取主机原来的目录下的数据。
附. 常用gitlab命令
gitlab-ctl reconfigure // 重新应用gitlab的配置
gitlab-ctl restart // 重启gitlab服务
gitlab-ctl status // 查看gitlab运行状态
gitlab-ctl stop // 停止gitlab服务
gitlab-ctl tail // 查看gitlab运行日志
结束.
转自:https://www.cnblogs.com/ding2016/p/10422605.html
原文地址:https://www.cnblogs.com/zxcnn/p/11502369.html