GitLab is The DevSecOps Platform
Gitlab 镜像下载
docker hub:hub.docker.com/r/gitlab/gi…
docker pull gitlab/gitlab-ce:latest
创建本地映射地址
创建GitLab 的配置 (etc) 日志 (log) 、数据 (data) 放到容器之外,容器启动后可以映射到本机,然后后续就可以直接在主机查看和编辑了,不用再进入容器操作,便于日后升级,通过以下方式准备三个目录。
docker volume create --name gitlab_config
docker volume create --name gitlab_logs
docker volume create --name gitlab_data
查看一下本地 volume:
docker volume ls
创建容器
docker run -d -p 10008:80 -p 10009:443 -p 10010:22 --restart always --name gitlab -v gitlab_config:/etc/gitlab -v gitlab_logs:/var/log/gitlab -v gitlab_data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:latest
访问界面
在浏览器输入: http://localhost:10008/, 给点时间哈,稍等一会,如果看到502,可以试下用:http://127.0.0.1:10008 来试下,很有可能会看到下面的登录页面哦
Root账户找回密码
方式一:
# 进入容器内部
docker exec -it gitlab /bin/bash
# 打开initial_root_password
vi /etc/gitlab/initial_root_password
方式二:重置这个root账户密码:
> $ docker exec -it gitlab bin/bash
root@21e3e3f798ae:/# gitlab-rake "gitlab:password:reset[root]"
Enter password:
Confirm password:
Password successfully updated for user with username root.
root@21e3e3f798ae:/#
登录后开启Gitlab之旅...
偏好设置
像我这样英文不太好的,还是换成母语会好些哈...
拥有了Root权限,这里你最大,再也不需要找人去开个这个那个权限了,尽情的去挥霍吧!
停用注册限制
调整项目地址
其中e82831d30b10b9b1f863197fd51ff5f9d4902a90893e5e82b0a3219a3aa9d934为容器ID, 需要调整一下,才可以正常clone 及push
设置方式如下:
# 进入容器内部
docker exec -it gitlab /bin/bash
# 修改gitlab.rb
vi /etc/gitlab/gitlab.rb
# 加入如下内容
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.1.106'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.1.106'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 10009
# 让配置生效
gitlab-ctl reconfigure
### 注意不要重启,/etc/gitlab/gitlab.rb文件的配置会映射到gitlab.yml这个文件,由于在docker中运行,在gitlab上生成的http地址应该是http://192.168.1.106:10008,所以,要修改下面文件
# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
gitlab:
host: 192.168.1.106
port: 10008
https: false
# 重启
gitlab-ctl restart
# 退出容器
exit
以上设置完成后,你便可以看到不再是容器ID的地址了:
存在的问题
在docker 重启后,/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml文件中的port会生重置为80. 因为这个gitlab.yml文件是由/etc/gitlab/gitlab.rb映射后生成的,默认端口为80,所以在执行gitlab-ctl reconfigure后会被重置为80.
项目地址为变为:http://192.168.1.106/gitlab-instance-5416b6eb/Monitoring.git, 端口号再次默认为80.
那怎么办呢??
GitLab默认的http访问端口号为80端口,如果想更改端口号,一般是通过docker run时设置端口映射,将80端口映射为其他端口如10008.
# 进入容器内部
docker exec -it gitlab /bin/bash
# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
# 调整端口号为10008
# 重启
gitlab-ctl restart
# 退出容器
exit
接下来就能访问GitLab了,并且在checkout检出地址栏中,http地址端口号也正确了。
管理中心
去管理中心看看吧,之前没有权限,不能访问的功能现在用root 账户都可以去实践一下了...
群组/项目
去创建群组,添加点用户,再搞几个项目,这样可以愉快的玩耍了...