1. 运行gitlab
- 下载gitlab的ce版镜像。通过
docker pull gitlab/gitlab-ce:latest
下载。其中latest
是镜像标签tag
,具体gitlab
有什么标签,可以去https://hub.docker.com/
查看。
- 然后一键启动
gitlab
:
$ sudo docker run --detach \
--hostname gitlab.example.com \
--publish 8443:443 --publish 8080:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /data/gitlab/config:/etc/gitlab \
--volume /data/gitlab/logs:/var/log/gitlab \
--volume /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
- 由于我们没有域名映射和解析,所以把
hostname
去掉了,具体命令的解释可以在参考1中得到。
$ sudo docker run --detach \
--publish 8443:443 --publish 8080:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /data/gitlab/config:/etc/gitlab \
--volume /data/gitlab/logs:/var/log/gitlab \
--volume /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
- 通过以下命令查询
gitlab
启动情况:
sudo docker container ls |gerp gitlab
当属性status
变成healthy
便可以通过http://ip:8080
访问。第一次登陆需要输入密码,也就是管理员密码,用户名是root
,之后才可以注册账号。
2. 配置参数。
- 刚开始私有仓库的地址是localhost,需要定制一个:
#主机:
docker exec -it gitlab bash
cd /opt/gitlab/embedded/service/gitlab-rails/config
vim gitlab.yml
#修改成下方所示:
gialab:
host: {ip-addr}
port: 8080
#重启gitlab-ctl:
gitlab-ctl restart
#退出容器
exit
- 发现一个问题,每次docker重启都会重新生成新的gitlab.yml吗?为什么我的host又回去了?
- 修改ssh port:
#宿主机:
vim /data/gitlab/config/gitlab.rb
#去掉下面的注释,改成想要的数值
gitlab_rails['gitlab_shell_ssh_port'] = 2222
# [gitlab.yml中的配置会被这个给覆盖
# 重启配置
docker exec -it gitlab gitlab-ctl restart
- 解决gitlab内存占用过多的问题
gitlab 默认开启和cpu个数一样多的进程数,所以内存爆满。
#宿主机:
vim /data/gitlab/config/gitlab.rb
#去掉下面的注释,改成想要的数值
unicorn['worker_processes'] = 2
# 重启配置
docker exec -it gitlab gitlab-ctl restart
等我建好邮箱再配置邮箱。
6.参考
网友评论