docker desktop部署本地gitlab服务

        Windows 系统若想在本地搭建一个gitlab服务,可通过安装 docker desktop,然后docker安装gitlab镜像实现容器化部署。

1.安装docker desktop

1.1 首先在官网下载 docker desktop

Docker Desktop: The #1 Containerization Tool for Developers | Docker

下载完成后直接安装会安装在C盘,但是docker非常占内存,我要把它安装在D盘

1.2. 安装

以管理员身份打开 命令行工具,运行如下代码

start /w "" "Docker Desktop Installer.exe" install -accept-license --installation-dir="D:\Program Files\Docker" --wsl-default-data-root="D:\Program Files\Docker\data" --windows-containers-default-data-root="D:\\Program Files\\Docker"

其中,D:\Program Files\Docker 是Docker Desktop 安装程序的安装目录,D:\Program Files\Docker\data 是存放 docker镜像等数据的目录,执行命令前先创建好文件夹

安装完成后在 Settings里可以看到镜像的目录

1.3 配置镜像加速

在Settings下的  Docker Engine里面增加

"registry-mirrors": [
    "https://dockerproxy.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn"
  ]

2.拉取docker镜像

在Windows power shell 里面执行如下命令

docker pull gitlab/gitlab-ce:latest 

3.启动容器

在Windows power shell 里面执行如下命令

publish 是容器映射到本机的端口,volumn 是容器与本机的配置文件映射

docker run --detach `
  --hostname gitlab.local `
  --publish 80:80 --publish 2222:22 `
  --name gitlab `
  --restart always `
  --volume D:\gitlab\config:/etc/gitlab `
  --volume D:\gitlab\logs:/var/log/gitlab `
  --volume D:\gitlab\data:/var/opt/gitlab `
  gitlab/gitlab-ce:latest

4. 修改访问URL

编辑 D:\gitlab\config\gitlab.rb,添加:external_url 参数。

如果你的 Gitlab 只是本机访问,external_url  可以配置为 localhost,如果局域网内其他机器需要访问,需配置为本机的ip。因为容器启动时配置的映射端口是80,所有这里gitlab的访问以及代码拉取,提交等,使用ip地址就行,不需要输入端口号

external_url 'http://192.168.x.x' # 改成你本机的ip地址

刷新配置,power shell执行

docker exec gitlab gitlab-ctl reconfigure

等刷下配置完成,即可访问gitlab

5.访问gitlab

浏览器输入,localhost访问,​

管理员账号​​:root,密码在 D:\gitlab\config\initial_root_password 中查看

### 使用 Docker Desktop 配置 GitLab #### 创建必要的数据卷 为了持久化存储 Redis 和 PostgreSQL 数据,在启动容器之前需先创建两个 Docker 卷。以下是命令示例: ```bash docker volume create git_data docker volume create git_redis docker volume create git_postgresql ``` 这些卷分别用于保存 GitLab 的主要数据、Redis 缓存以及 PostgreSQL 数据库的数据[^2]。 --- #### 启动 GitLab 容器 通过 `docker run` 命令来运行官方的 GitLab 镜像,并挂载上述创建好的卷到指定路径。以下是一个完整的命令模板: ```bash docker run --detach \ --hostname gitlab.example.com \ --publish 80:80 --publish 443:443 --publish 22: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 \ --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.example.com';" \ gitlab/gitlab-ce:latest ``` 此命令中的参数解释如下: - `--detach`: 让容器以后台模式运行。 - `--hostname`: 设置主机名,这里假设为 `gitlab.example.com`。 - `--publish`: 将宿主机端口映射至容器内的服务端口 (HTTP, HTTPS, SSH)。 - `--name`: 给容器命名以便于管理。 - `--restart always`: 当 Docker 主机重启时自动恢复该容器。 - `--volume`: 挂载本地目录 `/srv/gitlab/*` 到容器内部对应位置以实现数据持久化。 - `GITLAB_OMNIBUS_CONFIG`: 自定义配置变量,例如外部 URL 地址[^3]。 --- #### 初始化与访问 首次启动完成后,GitLab 可能需要几分钟时间完成初始化过程。可以通过浏览器访问设定的地址(如 http://localhost 或者实际绑定域名),默认管理员账户密码可通过日志查看: ```bash docker logs gitlab | grep "Password:" ``` 登录成功后建议立即更改初始密码以保障安全性[^1]。 --- #### 进阶配置选项 如果希望进一步调整 GitLab 行为,比如启用 SMTP 发送邮件通知等功能,则可以在环境变量部分追加更多设置项。例如: ```bash --env GITLAB_OMNIBUS_CONFIG="\ external_url 'http://gitlab.example.com' \n\ gitlab_rails['smtp_enable'] = true \n\ gitlab_rails['smtp_address'] = \"smtp.yourdomain.com\" \n\ gitlab_rails['smtp_port'] = 587" ``` 以上脚本展示了如何开启 SMTP 支持并指定了服务器地址和端口号。 --- #### 总结说明 GitLab 是一款强大的开源工具,支持团队协作开发流程管理和代码托管需求[^4]。借助 Docker 技术简化了其部署复杂度,使得即使是初学者也能快速搭建起属于自己的私有 Git 平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值