Docker安装gitlab

设置卷位置

在设置其他所有内容之前,请配置一个新的环境变量 $GITLAB_HOME,指向配置、日志和数据文件所在的目录。 确保该目录存在并且已授予适当的权限。

1
2
3
vim /etc/profile

export GITLAB_HOME=/srv/gitlab

GitLab 容器使用主机装载的卷来存储持久数据:

本地位置

容器位置

使用

$GITLAB_HOME/data

/var/opt/gitlab

用于存储应用程序数据。

$GITLAB_HOME/logs

/var/log/gitlab

用于存储日志。

$GITLAB_HOME/config

/etc/gitlab

用于存储极狐GitLab 配置文件。

如果遇到问题实在无法启动了,把这个几个数据备份重装就行

1
2
3
4
# 创建文件夹
mkdir -p /srv/gitlab/config
mkdir -p /srv/gitlab/logs
mkdir -p /srv/gitlab/data

启动容器

拉镜像

1
2
# 选择社区版
docker pull gitlab/gitlab-ce

使用docker engine安装gitlab

1
2
3
4
5
6
7
8
9
10
11

docker run --detach \
--publish 8102:443 --publish 8101:80 --publish 8103:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest

查看启动日志

1
docker logs -f gitlab

配置gitlab

进入容器

1
2
3
4
docker exec -it gitlab /bin/bash

# 记录初始密码(该文件将在24小时后的首次重新配置运行中自动删除。)
cat /etc/gitlab/initial_root_password

编辑配置文件

1
2
3
4
5
6
7
vi /etc/gitlab/gitlab.rb

external_url 'http://192.168.1.123:80' # GitLab服务器的访问地址
nginx['listen_port'] = 80 # 监听端口
gitlab_rails['gitlab_ssh_host'] = '192.168.1.123' # ssh协议地址
gitlab_rails['gitlab_shell_ssh_port'] = 22 # ssh协议端口

重新加载配置

1
2
3
gitlab-ctl reconfigure
# 或者重启GitLab :docker restart gitlab

访问

# 默认账户名是root,密码存放在配置文件 /etc/gitlab/initial_root_password

访问ip+端口即可