常用环境部署(八)——Docker安装GitLab

发布时间:2023年12月28日

1、拉取gitlab社区版本镜像

(1)拉取13.10.2版本

docker pull gitlab/gitlab-ce:13.10.2-ce.0

(2)拉取最新版的

docker pull gitlab/gitlab-ce:latest

注意:下面安装以13.10.2版本为例

2、创建挂载目录

mkdir -p /usr/local/gitlab/etc
mkdir -p /usr/local/gitlab/log
mkdir -p /usr/local/gitlab/data

?3、启动GitLab服务

(1)查看镜像

docker images

?

(2)启动 GitLab服务

docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:13.10.2-ce.0

?命令解释如下:

docker run 
-d                #后台运行,全称:detach
-p 8443:443      #将容器内部端口向外映射
-p 8090:80       #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
-p 8022:22       #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
--restart always #容器自启动
--name gitlab    #设置容器名称为gitlab
-v /usr/local/gitlab/etc:/etc/gitlab    #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /usr/local/gitlab/log:/var/log/gitlab    #与上面一样
-v /usr/local/gitlab/data:/var/opt/gitlab   #与上面一样
--privileged=true         #让容器获取宿主机root权限
gitlab/gitlab-ce:13.10.2-ce.0    #镜像的名称,这里也可以写镜像ID

?(3)查看GitLab是否启动

docker ps

4、?配置GitLab

(1)进入容器

docker exec -it gitlab bash

(2)修改gitlab.rb文件

//先进入到gitlab目录
cd /etc/gitlab   
//编辑gitlab.rb文件  
vim gitlab.rb

(3)修改gitlab.rb文件中的IP与端口号

// 在gitlab创建项目时候http地址的host(不用添加端口)
external_url 'http://xx.xx.xx.xx'

?

?(4)配置gitlab.yml文件

先进入到config目录下

cd /opt/gitlab/embedded/service/gitlab-rails/config

打开编辑gitlab.yml文件

vim gitlab.yml

修改host 与上面.rb文件修改的一致,修改port 为8090

?5、重启GitLab服务(修改完配置要重启服务)

(1)容器内重启命令

gitlab-ctl restart

(2)退出容器

exit

(3) 常用命令

// 这里的gitlab 就是我们上一步docker run 当中使用--name 配置的名字

//容器外停止
docker stop gitlab   

//容器外重启
docker restart gitlab

//进入容器命令行
docker exec -it gitlab bash

//容器中应用配置,让修改后的配置生效
gitlab-ctl reconfigure

6、访问GitLab

(1)使用浏览器打开GitLab

注意:第一次访问默认是root账户,会需要修改密码(密码至少8位数)设置好之后确定就行

访问链接如下:?

http://XXX.XX.XX.XX:8090/

文章来源:https://blog.csdn.net/wd520521/article/details/135241771
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。