容器化系列 - GitLab启动和配置 on Docker

时间:2021-05-27 14:27:08

本文简单说明了如何在Docker容器中运行GitLab。

1 准备工作

1.1 下载镜像

$ docker pull docker.io/gitlab/gitlab-ce:latest

1.2 创建持久化目录

$ mkdir -p /home/dockerdata/gitlab/config
$ mkdir -p /home/dockerdata/gitlab/logs
$ mkdir -p /home/dockerdata/gitlab/data

1.3 使用的端口

a, 容器内gitlab使用的端口:

  • ssh:22
  • http: 80
  • https:443

b, 映射到宿主机的端口:

  • ssh:1022
  • http:8010
  • https:8443

注意:如果要使用宿主机的22和443端口,需要修改宿主机的ssh和https的默认端口。例如修改ssh端口为1022

semanage port -a -t ssh_port_t -p tcp 1022
firewall-cmd --permanent --add-port=1022/tcp
firewall-cmd --reload

2 启动和配置

2.1 启动

docker run -d -h gitlab -p 1022:22 -p 8010:80 -p 8443:443 \
-v /home/dockerdata/gitlab/config:/etc/gitlab \
-v /home/dockerdata/gitlab/logs:/var/log/gitlab \
-v /home/dockerdata/gitlab/data:/var/opt/gitlab \
--restart always --name mygitlab gitlab/gitlab-ce:latest

容器中的gitlab完全启动需要一定时间,可通过日志命令实时查看启动进度:

$ docker logs -f <container id>

如果日志中出现如下信息,说明gitlab已经启动:

容器化系列 - GitLab启动和配置 on Docker

2.2 配置

通过网页访问gitlab的Web UI:http://<IP>:8010

容器化系列 - GitLab启动和配置 on Docker

首次登录需要修改管理员(root)的密码,至少8位字符,设置完后进入登录页面:

容器化系列 - GitLab启动和配置 on Docker

用户名为root,密码是刚才修改的密码,点击登录。现在可以创建Project,Group,User