docker安装gitlab汉化版

docker安装gitlab汉化版

一、拉取镜像

查找镜像
docker search gitlab

增加查找条件stars>=12的镜像
docker search -f STARS=12 gitlab

[root@localhost docker]# docker search gitlab
INDEX       NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/gitlab/gitlab-ce                             GitLab Community Edition docker image base...   2357                 [OK]
docker.io   docker.io/sameersbn/gitlab                             Dockerized gitlab web server                    1095                 [OK]
docker.io   docker.io/gitlab/gitlab-runner                         GitLab CI Multi Runner used to fetch and r...   466                  [OK]
docker.io   docker.io/twang2218/gitlab-ce-zh                       汉化的 GitLab 社区版 Docker Image                     161                  [OK]
docker.io   docker.io/gitlab/gitlab-ee                             GitLab Enterprise Edition docker image bas...   128                  
docker.io   docker.io/jangrewe/gitlab-ci-android                   GitLab CI image for building Android apps       49                   [OK]
docker.io   docker.io/centurylink/gitlab                           This image uses the image from sameersbn /...   26                   [OK]
docker.io   docker.io/cdrx/rancher-gitlab-deploy                   Painless deployment of projects built with...   22                   [OK]
docker.io   docker.io/edbizarro/gitlab-ci-pipeline-php             Build and test PHP applications with Gitla...   18                   
docker.io   docker.io/klud/gitlab-runner                           GitLab Runner for ARM devices                   16                   
docker.io   docker.io/gitlab/gitlab-runner-helper                                                                  13                   
docker.io   docker.io/ciricihq/gitlab-sonar-scanner                Gitlab Docker container to run sonar-scann...   12                   [OK]
docker.io   docker.io/dockerphp/gitlab-ci-pipeline                 Gitlab CI pipeline for PHP applications         3                    [OK]
docker.io   docker.io/gitlab/cog                                   GitLab Bundle for Cog                           3                    
docker.io   docker.io/sgillespie/gitlab-runner                     A Dockerized GitLab Runner that automatica...   3                    [OK]
docker.io   docker.io/lorands/gitlab-merge-request-resource        This is a fork of swisscom/gitlab-merge-re...   1                    [OK]
docker.io   docker.io/mastertinner/gitlab-merge-request-resource   A concourse resource to check for new merg...   1                    [OK]
docker.io   docker.io/primetoninc/gitlab                           gitlab-ce                                       1                    [OK]
docker.io   docker.io/adamkl/gitlab-merge-request-resource         Customized with support for gitlab ssh on ...   0                    [OK]
docker.io   docker.io/boldcommerce/gitlab-merge-request-resource   Reverted build of Swisscom's resource unti...   0                    [OK]
docker.io   docker.io/gitlab/gitlab-qa                             GitLab QA has a test suite that allows end...   0                    
docker.io   docker.io/instrumentisto/gitlab-builder                Docker image with minimal toolchain requir...   0                    [OK]
docker.io   docker.io/samcontesse/gitlab-merge-request-resource    A concourse resource to check for new merg...   0                    [OK]
docker.io   docker.io/sicony/npm-cache-gitlab-mr                   Concourse CI npm cache resource for gitlab...   0                    
docker.io   docker.io/stanfordlegion/gitlab-ci                     An image for Gitlab CI.                         0                    [OK]
[root@localhost docker]# docker pull docker.io/twang2218/gitlab-ce-zh

拉取汉化版镜像

[root@localhost docker]# docker pull docker.io/twang2218/gitlab-ce-zh

使用的镜像twang2218/gitlab-ce-zh 在docker官网网址https://hub.docker.com/r/twang2218/gitlab-ce-zh/tags

其他中文镜像库docker公共库的gitlab汉化版地址 https://hub.docker.com/r/gitclub/gitlab-ce-zh

二、运行

镜像启动说明

https://hub.docker.com/r/gitclub/gitlab-ce-zh

使用

简单运行

如果想简单的运行一下看看,可以执行这个命令:

docker run -d -p 3000:80 gitclub/gitlab-ce-zh:10.4.0
可以将 10.4.0 换成你所需要的版本标签。

启动后就可以通过主机的 3000 端口看到运行结果了,比如用的是本机 Docker 的话,访问:http://localhost:3000 即可。

测试结束后,彻底清除容器可以用命令:

docker rm -fv <容器ID>
这样可以停止、删除容器,并清除数据。

使用 Docker Compose

正常部署时,可以使用 Docker Compose 来配置启动。建立一个 docker-compose.yml,内容如下:

version: ‘2’
services:
gitlab:
image: ‘gitclub/gitlab-ce-zh:10.4.0’
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’] = "[email protected]"
# 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’] = ‘[email protected]
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。

如果你的服务器有域名,将上面的 gitlab.example.com 替换为实际域名。

实验时,也可以直接修改 /etc/hosts 方便测试。比如:

127.0.0.1 gitlab.example.com

使用 Docker 命令启动

直接使用 docker 命令要比使用 docker-compose 繁琐一些,但是可以达到一样的效果。

首先,Docker 容器数据应该存储于卷中,在这里我们使用最简单的本地命名卷:

gitlab-config 存储 GitLab 配置信息
gitlab-data 存储数据库
gitlab-logs 存储日志
然后,我们需要创建自定义网络,从而让容器运行于独立的网络中,区别于默认网桥。

docker network create gitlab-net
准备好后,开始运行 Gitlab 容器:

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
gitclub/gitlab-ce-zh:10.4.0
如果需要进入容器修改配置文件,可以用 docker exec 命令进入容器:

$ 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 stop gitlab
docker rm gitlab
docker network rm gitlab-net
docker volume rm gitlab-config gitlab-datagitlab-logs

注意事项

登录

启动 GitLab 后,第一次访问时,会要求设置 root 用户的密码,密码不得小于8位。设置好后,就可以登录使用了。

对于早期版本,可以使用默认的 root 用户密码 5iveL!fe 登录。

配置 SSH 端口

这里运行示例中,无论是使用 docker-compose.yml 还是 docker run 都使用的是 SSH 默认端口 22 去映射容器 SSH 端口。其目的是希望比较自然的使用类似 [email protected]: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 [email protected]:myuser/awesome-project.git
改为明确使用 ssh:// 的 URL 方式。

git clone ssh://[email protected]:2222/myuser/awesome-project.git

三、部署成功

第一次登陆后会让你设置密码,如上说明搞得密码长度需要8位。设置完之后登陆即可,如果出现一些错误提示,新页面重新登陆即可登陆
在这里插入图片描述
进入页面
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lanwp5302/article/details/86533077