Linux系统:第十四章:安装Docker和gitlab

Posted java_wxid

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统:第十四章:安装Docker和gitlab相关的知识,希望对你有一定的参考价值。

================docker安装开始====================
#准备工作
查看内核信息:
uname -r
结果:
4.18.0-305.3.1.el8.x86_64
卸载旧版本
sudo yum remove docker \\
                  docker-client \\
                  docker-client-latest \\
                  docker-common \\
                  docker-latest \\
                  docker-latest-logrotate \\
                  docker-logrotate \\
                  docker-engine
sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum remove docker-ce
卸载后将保留/var/lib/docker的内容(镜像、容器、存储卷和网络等)。
rm -rf /var/lib/docker
#下载之前查看网络环境在出口是否封了相应端口
ping baidu.com
安装依赖软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#安装前可查看device-mapper-persistent-data和lvm2是否已经安装
rpm -qa|grep device-mapper-persistent-data
rpm -qa|grep lvm2
#安装工具包
sudo yum -y install yum-utils
设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
更新yum软件包索引
sudo yum makecache fast
#安装Docker
安装最新版本docker-ce
sudo yum install docker-ce -y
#安装指定版本docker-ce可使用以下命令查看
sudo yum list docker-ce.x86_64  --showduplicates | sort -r
# 安装完成之后可以使用命令查看
docker version
结果:出现Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
重启docker:systemctl start docker
#查看状态
systemctl status docker
#再次查看版本
docker version
结果:
Client: Docker Engine - Community
 Version:           20.10.9
 API version:       1.41
 Go version:        go1.16.8
 Git commit:        c2ea9bc
 Built:             Mon Oct  4 16:08:25 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.9
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.8
  Git commit:       79ea9d3
  Built:            Mon Oct  4 16:06:48 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.11
  GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
通知systemd重载此配置文件
systemctl daemon-reload
重启docker服务
systemctl restart docker
================docker安装结束====================


================gitlab安装开始====================
# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
docker pull gitlab/gitlab-ce
# 创建gitlab日志,数据,配置的存放路径,通常会在构建容器的时间,会把配置 (etc) 、 日志 (log) 、数据 (data) 放到容器外面,方便后期数据迁移或者修改配置
sudo mkdir -p /docker/gitlab/config   /docker/gitlab/logs   /docker/gitlab/data
# 构建容器
sudo docker run --detach \\
--hostname  gitlab \\
--publish 8011:443  \\
--publish  8012:8012  \\
--publish  8013:22 \\
--privileged=true  \\
--name gitlab \\
--restart always \\
--volume /docker/gitlab/config:/etc/gitlab \\
--volume /docker/gitlab/logs:/var/log/gitlab \\
--volume /docker/gitlab/data:/var/opt/gitlab \\
--volume  /docker/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure \\
gitlab/gitlab-ce:latest
#添加配置
sudo vi /docker/gitlab/config/gitlab.rb
#添加下面3行
#配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://xx.xx.xxx.xxx:8012'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = 'xx.xx.xxx.xxx:8012'
# 此端口是run时22端口映射的8013端口
gitlab_rails['gitlab_shell_ssh_port'] = 8013
#保存推出
:wq
#重启gitlab
docker restart gitlab
#更新授权
sudo docker exec -it gitlab update-permissions
#进入gitlab容器
docker exec -it gitlab bash 
#重新载入配置文件,并开启
gitlab-ctl reconfigure
gitlab-ctl start
#查看密码
docker exec -ti gitlab /bin/bash
gitlab-rails console production
#进入gitlab控制台
gitlab-rails console -e production
#获得用户数据,修改用户密码
user = User.where(id: 1).first
user.password='2YkDixw6xJiD/68kCsAZBu9W9ZhGdRlT0YykDYiOvOAE=1'
user.password_confirmation='2YkDixw6xJiD/68kCsAZBu9W9ZhGdRlT0YykDYiOvOAE=1'
user.save!
quit
#重启gitlab需要等待一段时间才能访问,否则会出现502
================gitlab安装结束====================

以上是关于Linux系统:第十四章:安装Docker和gitlab的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统:第十五章:gitlab集成CI

第十四章 网络操作系统安全管理

鸟0哥的Linux私房菜——第十四章:Bash Shell

第十四章 LINUX新安全FIREWALLD-CENTOS7.5知识

第十四章-MySQL

数据库系统概念笔记——第十四章:事务