一、介绍
GitLab Community Edition (GitLab CE) 是一个开源的版本控制系统和协作平台,用于管理和追踪软件开发项目。它提供了一套完整的工具和功能,包括代码托管、版本控制、问题跟踪、持续集成、持续交付和协作功能,使团队能够更加高效地进行软件开发。
二、安装
1、搜索gitlab-ce镜像
 
docker search gitlab-ce
2、拉取镜像
我们选择gitlab/gitlab-ce 
docker pull gitlab/gitlab-ce

3、创建挂载文件夹
mkdir -p /mydata/gitlab/etc
mkdir -p /mydata/gitlab/log
mkdir -p /mydata/gitlab/opt

4、授予读写权限
chmod -R 777 /mydata/gitlab

5、创建并运行容器
docker run -id \
-p 7003:22 -p 7002:80 -p 7001:443 \
-v /mydata/gitlab/etc:/etc/gitlab \
-v /mydata/gitlab/log:/var/log/gitlab \
-v /mydata/gitlab/opt:/var/opt/gitlab \
--hostname 10.22.8.87 \
--restart always \
--privileged=true \
--name gitlab-ce gitlab/gitlab-ce
命令详解
- -id:这是两个参数的组合,其中 -i 表示以交互模式运行容器,-d 表示以后台模式运行容器。
- -p 7003:22:这是另一个端口映射参数,将容器内部的 22 端口映射到主机的 7003端口。
- -v /mydata/gitlab/etc:/etc/gitlab:用于持久化存储- GitLab CE的配置文件。
- -v /mydata/gitlab/log:/var/log/gitlab:用于持久化存储- GitLab CE的日志文件。
- -v /mydata/gitlab/opt:/var/opt/gitlab:用于持久化存储- GitLab CE的数据。
- --hostname 10.22.8.87:局域网宿主机的ip, 如果是公网主机可以写域名。
- --restart always:这是容器重启策略参数,指定容器在退出后总是重新启动。
- --privileged=true:这是特权模式参数,允许容器在特权模式下运行,具有更高的系统权限。
6、查看运行日志与容器状态
docker logs -f gitlab-ce
docker ps
状态为health就说明运行成功了。
 
这时候就可以使用浏览器访问了。
 
gitlab-ce运行成功后默认root用户名,同时生成一个密码。通过以下命令可获取密码:
docker exec -it gitlab-ce grep 'Password:' /etc/gitlab/initial_root_password

7、修改配置文件gitlab.yml
vi /mydata/gitlab/opt/gitlab-rails/etc/gitlab.yml
port默认是80,你需要将其改为你映射的端口。
 