docker部署gitlab
1.下载最新的镜像:
docker pull gitlab/gitlab-ce
2.查看镜像是否拉取成功:
docker images
3.新建数据卷目录:
如果要修改一个容器的配置或者查看它的日志,需要进入到容器里面,不是很方便。所以通常会给容器挂载数据卷,将容器内的重要目录,映射到宿主机中。
我们需要为 Gitlab 容器设置三个数据卷,也就需要在 Centos 系统中新建三个目录:
mkdir -p /data/gitlab/config # 映射到 Glitlab 容器中的配置目录
mkdir -p /data/gitlab/logs # 映射到 Glitlab 容器中的日志目录
mkdir -p /data/gitlab/data # 映射到 Glitlab 容器中的数据目录
4.运行容器:
docker run -d
--hostname gitlab.kunwu.top
-p 443:443 -p 80:80 -p 23:22
--name gitlab
--restart always
-v /data/gitlab/config:/etc/gitlab
-v /data/gitlab/logs:/var/log/gitlab
-v /data/gitlab/data:/var/opt/gitlab
gitlab/gitlab-ce
参数说明:
-d:已守护进程的方式运行容器。这样就可以让 gitlab 服务在后台运行而不影响前台的操作。
–hostname:设置主机名字。和我们上面给虚拟机设置的域名保持一致即可。如果是云服务器且绑定了域名,这里就是云服务器的域名。
-p:gitlab 需要暴露三个端口,443 和 80 是访问 Gitlab 的 Web 页面,22 是使用 Git 管理仓库时用到,但是由于宿主机的 22 被我的 sshd 服务占用了,所以这里映射到了 23。
–name:容器的名字
–restart:当容器启动失败时总是尝试自动重启
-v:挂载数据卷,这样就能方便修改为容器内服务的配置,同时方便做容器数据的迁移
5.开启liunx主机443、22、80端口:
开端口命令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
参数说明:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
开起端口后刷新防火墙状态至最新:
firewall-cmd -reload
重启防火墙服务:
systemctl restart firewalld.servicet
查看Linux某端口的情况
netstat -tunlp | grep 端口号
容器启动成功后,Windows 本地机器就能访问了。****
打开浏览器访问 http://liunx服务器IP:80或443
6.登录
使用初始密码登录
第一次访问 Gitlab 需要重置 root 账号的密码。
前面启动 Gitlab 容器之前,设置了它的配置文件的数据卷,来到此目录:
cd /data/gitlab/config
有一个 initial_root_password 文件,root 用户的初始密码密码就在此文件中:cat initial_root_password
将其复制,然后回到浏览器中输入并点击登录按钮,就能完成第一次登录了。
修改语言
系统默认为英语,修改为中文。
点击右上角的用户头像,选择“Preferences”偏好设置:
来到本地化设置,选择中文,并保存配置。可以看到,目前英文做了 100% 的翻译,中文做到了 95% 的翻译,不熟悉英文的朋友使用起来也没有任何问题了。
刷新浏览器,就切换为中文界面了。
修改默认密码
Root 用户的初始密码在配置文件中只保存 24 小时,太长也不方便记忆。所以登录后先修改默认的初始密码。
点击右上角头像,选择偏好设置,然后选择左侧菜单栏的密码选项,完成密码的修改。新密码的长度需要不少于8个字符。