Docker 安装 GitLab
由于 GitLab 官网上下载提供的全是 x86 架构的,因此需要安装 ARM 的就需要自己通过源码编译,编译的过程也比较繁琐,这里使用的则为 Docker 镜像安装,通过 Docker 使用别人已经编译好的镜像即可。
gitlab官方地址:https://gitlab.cn/
Docker 拉取 Gitlab
电脑上需要安装 Docker 以后,执行如下操作:
电脑至少需要 4G 内存
docker pull yrzr/gitlab-ce-arm64v8
Docker 运行 GitLab 镜像
docker run \
--detach \
--restart always \
--name gitlab-ce \
--privileged \
--memory 4096M \
--publish 22:22 \
--publish 80:80 \
--publish 443:443 \
--hostname xxx.xxx.xxx.xxx \
--env GITLAB_OMNIBUS_CONFIG=" \
nginx['redirect_http_to_https'] = true; "\
--volume /srv/gitlab-ce/conf:/etc/gitlab:z \
--volume /srv/gitlab-ce/logs:/var/log/gitlab:z \
--volume /srv/gitlab-ce/data:/var/opt/gitlab:z \
yrzr/gitlab-ce-arm64v8:latest
运行上述指令的过程中,容易出现 22 端口的错误,原因是如果使用 xshell 等远程连接的ssh软件,默认走的是 22 的端口,此时会出现一个端口占用的情况。
关于访问,将 hostname 修改 ip 地址即可,或者在 DNS 中配置域名信息。
解决如下:
# 查询所有的镜像
docker ps -a
# 此时会看到一个 gitlab-ce 的容器是没有启动的状态
# 删除 gitlab-ce 容器
docker rm gitlab-ce
# 再次运行时,删除开放的 22 端口
docker run \
--detach \
--restart always \
--name gitlab-ce \
--privileged \
--memory 4096M \
--publish 80:80 \
--publish 443:443 \
--hostname xxx.xxx.xxx.xxx \
--env GITLAB_OMNIBUS_CONFIG=" \
nginx['redirect_http_to_https'] = true; "\
--volume /srv/gitlab-ce/conf:/etc/gitlab:z \
--volume /srv/gitlab-ce/logs:/var/log/gitlab:z \
--volume /srv/gitlab-ce/data:/var/opt/gitlab:z \
yrzr/gitlab-ce-arm64v8:latest
如上为端口占用的解决,如果遇到其他问题,就需要对相关问题进行解决。
gitlab 登陆
# 进入 docker 容器中,查看当前的 gitlab 的初始密码
docker exec -it gitlab-ce[对应的docker容器名称或者 docker 容器 id] /bin/bash
# gitlab 的初始账号为 root
# 进入到 docker 容器中以后,输入如下指令
cat /etc/gitlab/initial_root_password
gitlab 的 root 管理员密码每 24 小时后都会更新一次。登陆以后,设置一下密码,就不会更新了。