ubuntu基于Docker搭建Gitlab服务器

一、安装docker

1,先卸载掉旧版本

$ sudo apt-get remove docker docker-engine docker.io containerd runc

2,更新apt包

$ sudo apt-get update

3,安装软件包以允许apt通过https使用存储库

	$ sudo apt-get install \
	    apt-transport-https \
	    ca-certificates \
	    curl \
	    gnupg-agent \
	    software-properties-common

4,添加官方GPG秘钥

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
	$ sudo apt-key fingerprint 0EBFCD88

5,设置稳定存储库

$ sudo add-apt-repository \
	   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
	   $(lsb_release -cs) \
	   stable"

6,更新apt包索引

$ sudo apt-get update

7,推荐直接安装最新版本的docker

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

8,测试运行hello world镜像

$ sudo docker run hello-world

9、其他Docker操作

卸载docker引擎

$ sudo apt-get purge docker-ce

docker虽然卸载,但是镜像还会残留,卸载镜像命令

$ sudo rm -rf /var/lib/docker

docker的常用命令

启动docker

systemctl start docker

停止docker:

systemctl stop docker

重启docker:

systemctl restart docker

开机启动:

systemctl enable docker

查看docker概要信息

docker info

查看docker帮助文档

docker --help

列出容器

docker ps

二、docker部署Gitlab

1,创建容器外挂目录

创建三个目录分别存放这些数据,便于GitLab的维护和迁移。即时是GitLab被我们玩坏了,只要这三个文件还存在,就可以很简单的重建

sudo mkdir -p /gitlab/data
sudo mkdir -p /gitlab/logs
sudo mkdir -p /gitlab/config

2,启动gitlab容器

sudo docker run --detach \
    --publish 8443:443 --publish 8000:80 --publish 2222:22 \
    --name gitlab \
    --restart always \
    --volume /gitlab/config:/etc/gitlab \
    --volume /gitlab/logs:/var/log/gitlab \
    --volume /gitlab/data:/var/opt/gitlab \
    -log-driver=none \
    beginor/gitlab-ce:11.1.4-ce.0

参数说明

  • –detach 设置容器后台运行
  • –publish 暴露 https、http和ssh端口,关于端口下文会细说
  • –name 容器名称
  • –restart always 每次启动容器就重启GitLab
  • –volume 设置GitLab数据挂载点

第一次启动容器会很慢,需要三分钟左右。可以随时通过docker ps 查看启动进度。当STATUS由starting变为health时,就说明启动成功了。

另外,其中的8000:80就是docker内部80对外部8000的映射,外部访问时就用8000端口,内部实际映射为80。
3,配置GitLab
现在就可以通过地址:http://IP:8000访问GitLab,但是为了正常使用,我们还需要配置GitLab。
我们需要修改三个参数:

external_url
ssh 端口
nginx监听端口
GitLab的配置文件在我们外挂的磁盘下/gitlab/config/gitlab.rb
修改external_url

sudo vim /gitlab/config/gitlab.rb
# 可以通过`/`搜索需要修改的参数
external_url 'http://IP:8000'   # IP填写GitLab部署的服务器的IP

修改ssh端口

如果不修改ssh的端口,clone和提交代码时一直需要输入密码。
因为通过ssh链接gitlab时默认访问的是22端口,但是使用docker部署,22端口在宿主机一直被占用,所以映射为2222端口,需要修改gitlab配置文件

### GitLab Shell settings for GitLab
gitlab_rails['gitlab_shell_ssh_port'] = 2222
# gitlab_rails['gitlab_shell_git_timeout'] = 800

修改nginx监听的端口

nginx['listen_port'] = 80

这点比较重要,否则有可能造成ssh链接异常

现在配置已经完成,重启容器即可使用

docker restart gitlab

访问
GitLab的访问地址是:http://IP:8000/。第一次访问会让用户修改密码,修改成功后就可以通过账号(root)和该密码登录GitLab。
当然为了正常使用GitLab,添加SSH公钥是必须的。GitLab的使用方式和GitHub基本一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tristan Tsai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值