Files
GitGuide/docs/platform/gitlab-docker部署.md
2021-03-19 12:00:46 +08:00

113 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Docker部署
`gitlab`提供了官方镜像 - [gitlab/gitlab-ce](https://hub.docker.com/r/gitlab/gitlab-ce/)
## 启动容器
运行以下命令启动容器
```
$ docker run --detach \
--publish 7010:7010 \
--publish 7020:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
```
等待容器状态从`Up 1 second (health: starting)`变为`Up 3 minutes (healthy)`
* 绑定`7010`端口(作用于后续的`external_url`
* 绑定主机`7020`端口到容器`22`端口
* 挂载主机`/srv/gitlab`文件夹到容器
- `/etc/gitlabGitlab`配置文件
- `/var/log/gitlab`:日志
- `/var/opt/gitlab`:应用数据
## 设置external_url
进入`gitlab`容器
```
$ docker exec -it COMTAINER_ID bash
```
修改配置文件`/etc/gitlab/gitlab.rb`,添加`external_url`属性
```
external_url 'http://IP_ADDRESS:7010' # 指定IP地址设置访问地址
nginx['listen_port'] = 7010
gitlab_rails['gitlab_shell_ssh_port'] = 7020
```
在容器内部重启`gitlab`服务
```
$ gitlab-ctl reconfigure
$ gitlab-ctl restart
```
*也可以退出系统后,重新启动容器*
```
$ docker restart CONTAINER_ID
```
等待容器状态从`Restarting (1) 19 seconds ago``Up 18 minutes (healthy)`
启动浏览器登录`http://localhost:7010`
![](./imgs/gitlab-docker-start.png)
## [问题]容器一直重启
使用`docker logs`命令查询
```
$ docker log CONTAINER_ID
...
...
System Info:
------------
chef_version=14.13.11
platform=ubuntu
platform_version=16.04
ruby=ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
program_name=/opt/gitlab/embedded/bin/chef-client
executable=/opt/gitlab/embedded/bin/chef-client
Running handlers:
There was an error running gitlab-ctl reconfigure:
/etc/gitlab/gitlab.rb:1: unexpected fraction part after numeric literal
external_url = 192.168.0.144:7002
^~~~~~~
/etc/gitlab/gitlab.rb:1: syntax error, unexpected tINTEGER, expecting end-of-input
external_url = 192.168.0.144:7002
^~~
Running handlers complete
Chef Client failed. 0 resources updated in 01 seconds
```
发现是`external_url`配置失误导致。解决方法如下:
1. 停止`gitlab`容器
2. 修改配置文件(在主机中)`/srv/gitlab/config/gitlab.rb`
3. 重新启动容器
## 相关阅读
[GitLab Docker images](https://docs.gitlab.com/omnibus/docker/)
[gitlab docker Web界面打开反应迟钝的解决办法](https://blog.csdn.net/happyfreeangel/article/details/88653846)
[GitLab Docker 容器的内存优化之路](https://www.imooc.com/article/48668)
[gitlab的docker安装,非标准端口,如何处理?](https://www.cnblogs.com/aguncn/p/10336175.html)