Ubuntu 18.04 使用Docker安装Gitlab

目录

Docker版本概述

卸载旧版本的docker

设置Docker repository

安装 Docker CE

进行gitlab安装准备

获取gitlab镜像

创建gitlab容器

重新进入到容器修改配置(重点)


Docker版本概述

Docker有两个版本:

社区版(CE)
企业版(EE)
Docker Community Edition(CE)非常适合想开始使用Docker并尝试使用基于容器的应用程序的个人开发人员和小型团队。
Docker Enterprise Edition(EE)专为企业开发和IT团队而设计,他们可以在生产中大规模构建,发布和运行业务关键型应用程序。

卸载旧版本的docker

sudo apt-get remove docker docker-engine docker.io

设置Docker repository


更新apt包索引:

sudo apt-get update


安装相关apt包:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common


添加Docker官方GPG key:

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

设置稳定版的Docker仓库
 

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


安装 Docker CE


更新apt包索引:

sudo apt-get update


执行安装命令:

sudo apt-get install docker-ce

验证安装
 

sudo docker run hello-world


– 将会打印出如下信息:(docker系统会自动下拉hello-world容器)

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete 
Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

进行gitlab安装准备

创建单独的gitlab用户管理

sudo adduser gitlab

将gitlab用户加入docker组,免sudo运行docker

sudo gpasswd -a gitlab docker

切换到gitlab用户

su gitlab

获取gitlab镜像


拉取最新的gitlab-ce就可以。目前官方的版本是支持多个语言的,中文可以在设置里改。

docker pull gitlab/gitlab-ce 

创建data目录用于保存gitlab服务的数据
通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (opt) 放到容器之外, 便于日后升级。

mkdir -p /home/gitlab/data

创建gitlab容器

docker run -d --name gitlab --restart always \
    -p 8443:443 \
    -p 8090:8090 \
    -p 222:22 \
    -v /home/gitlab/data/etc:/etc/gitlab \
    -v /home/gitlab/data/log:/var/log/gitlab \
    -v /home/gitlab/data/opt:/var/opt/gitlab \
    /gitlab/gitlab-ce:latest

解释下:
-d :后台运行。
–name gitlab:容器名定为gitlab,看喜好可以定成其它的,zhangsan,lisi,wangwu都可。
–restart always:重启容器的策略,这里是总是,目的是如果服务器意外复位,gitlab也能重启。
-p 8443:443:将宿主机的8443端口映射给gitlab容器的443端口,这个端口给https使用,如果8443被占用可以换成其他的。
-p 8090:8090:同上,这个端口是给http使用的,被占用换其他的。
-p 222:22:同上,这个端口给ssh使用,被占用就换。
-v /home/gitlab/data/etc:/etc/gitlab:将宿主机的/home/gitlab/data/etc映射到容器的/etc/gitlab。
-v /home/gitlab/data/log:/var/log/gitlab:同上理。
-v /home/gitlab/data/opt:/var/opt/gitlab:同上理。

提醒
网上有的文章配置的是 -p 8090:80这种的,虽然最后可以通过ip:8090访问gitlab,但会导致http clone的地址无法使用,如果非要这样配置,那么external_url 'http://ip’就可以了不要加:8090

重新进入到容器修改配置(重点)


进入gitlab容器

docker exec -it gitlab /bin/bash

修改/etc/gitlab/gitlab.rb,在文件末尾追加:

external_url 'http://192.168.0.13:8090'

解释下:
external_url ‘http://192.168.0.13:8090’ 配置此项可以通过192.168.0.13:8090访问gitlab,同时http clone显示的地址也是有效的

重启gitlab服务

gitlab-ctl reconfigure
gitlab-ctl restart


浏览器访问192.168.0.13:8090

即可使用Gitlab
————————————————
CSDN博主「gj_bing」的原创文章
原文链接:https://blog.csdn.net/gj_bing/article/details/103708971

CSDN博主「tlojy」的原创文章
原文链接:https://blog.csdn.net/tlojy/article/details/83653246

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

beijing_txr

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值