一、介绍
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,你需要将其改为你映射的端口。