docker安装中文版gitlab

dockerhub

dockerhub
搜索gitlab,在下拉列表选择gitlab/gitlab-ce
在对应服务器里面执行下面的命令

docker pull  gitlab/gitlab-ce

image.png

第二种方式

docker search gitlab/gitlab-ce
docker pull  gitlab/gitlab-ce

image.png

启动gitlab-ce

简单运行

docker run -d -p 3000:80 twang2218/gitlab-ce-zh:11.1.4

通过ip加端口就可以访问页面了
测试结束,删除测试容器 这样可以停止、删除容器,并清除数据。

docker rm -fv <容器id>

使用docker compose

正常部署使用docker compose 部署

version: '2'
services:
    gitlab:
      image: 'twang2218/gitlab-ce-zh:11.1.4'
      restart: unless-stopped
      hostname: 'gitlab.example.com'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://gitlab.example.com'
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
          # 需要配置到 gitlab.rb 中的配置可以在这里配置,每个配置一行,注意缩进。
          # 比如下面的电子邮件的配置:
          # gitlab_rails['smtp_enable'] = true
          # gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
          # gitlab_rails['smtp_port'] = 465
          # gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
          # gitlab_rails['smtp_password'] = "password"
          # gitlab_rails['smtp_authentication'] = "login"
          # gitlab_rails['smtp_enable_starttls_auto'] = true
          # gitlab_rails['smtp_tls'] = true
          # gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
      ports:
        - '80:80'
        - '443:443'
        - '22:22'
      volumes:
        - config:/etc/gitlab
        - data:/var/opt/gitlab
        - logs:/var/log/gitlab
volumes:
    config:
    data:
    logs:

然后使用命令docker-compose up -d 来启动,停止服务使用docker-compose down.
如果服务器有域名,将上面的gitlib.example.com 替换掉就可以
实验时也可以直接修改 /etc/hosts 文件方便测试 ,例如

127.0.0.1   gitlab.example.com

使用docker命令启动

创建文件夹以及对应数据卷挂载位置

  • gitlab-config 存储 GitLab 配置信息
  • gitlab-data 存储数据库
  • gitlab-logs 存储日志
mkdir /home/data/gitlab/gitlab-config
mkdir /home/data/gitlab/gitlab-data
mkdir /home/data/gitlab/gitlab-logs

创建自定义网络,从而让容器运行于独立的网络中,区别于默认网桥

docker network create gitlab-net

开始运行gitlab容器:

hostname gitlab.example.com \ #这个就是你gitlab主机ip或者域名
docker run -d \
    --hostname gitlab.example.com \ 
    -p 80:80 \
    -p 443:443 \
    -p 22:22 \
    --name gitlab \
    --restart unless-stopped \
    -v gitlab-config:/etc/gitlab \
    -v gitlab-logs:/var/log/gitlab \
    -v gitlab-data:/var/opt/gitlab \
    --network gitlab-net \
    twang2218/gitlab-ce-zh:11.1.4

进入容器修改配置文件

$ docker exec -it gitlab bash
root@09f6e32c528c:/# vi /etc/gitlab/gitlab.rb
root@09f6e32c528c:/# gitlab-ctl reconfigure
Starting Chef Client, version 12.12.15
resolving cookbooks for run list: ["gitlab"]

卸载服务对应命令

docker stop gitlab
docker rm gitlab
docker network rm gitlab-net
docker volume rm gitlab-config gitlab-datagitlab-logs

注意事项

登录

启动gitlab之后,第一次访问会要求设置root的密码

配置ssh端口

无论是使用 docker-compose.yml 还是 docker run 都使用的是 SSH 默认端口 22 去映射容器 SSH 端口。其目的是希望比较自然的使用类似 git@gitlab.example.com:myuser/awesome-project.git 的形式来访问服务器版本库。但是,宿主服务器上默认的 SSH 服务也是使用的 22 端口。因此默认会产生端口冲突。

修改宿主的 SSH 端口

修改宿主的 SSH 端口,使用非 22 端口。比如修改 SSHD 配置文件,/etc/ssh/sshd_config,将其中的 Port 22 改为其它端口号,然后 service sshd restart。这种方式比较推荐,因为管理用的宿主 SSH 端口改成别的其实更安全。

修改容器的 SSH 端口

修改容器的端口映射关系,比如将 -p 22:22 改为 -p 2222:22,这样 GitLab 的 SSH 服务端口将是 2222。这样做会让使用 GitLab 的 SSH 克隆、提交代码有些障碍。这种情况要改变用户使用 Git 的链接方式。

git clone ssh://git@gitlab.example.com:2222/myuser/awesome-project.git

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值