从VirtualBox到Docker到Gitlab的安装

下载Oracle VM VirtualBox,用来创建Linux虚拟机

  1. Oracle VM VirtualBox官网
  2. 进入官网后的页面,点击Download VirtualBox 6.1
    从VirtualBox到Docker到Gitlab的安装_第1张图片3. 下载Windows版本的VirtualBox
    从VirtualBox到Docker到Gitlab的安装_第2张图片

下载CentOS镜像

  1. CentOS下载
  2. 点击链接后的页面
    从VirtualBox到Docker到Gitlab的安装_第3张图片
  3. 我选择的是CentOS Linux DVD ISO,选择后打开的页面。据说下载aliyun的速度会快一点。
    从VirtualBox到Docker到Gitlab的安装_第4张图片

使用上面下载的Oracle VM VirtualBox,搭配CentOS.iso创建Linux虚拟机 & 如何ping通宿主机和虚拟机

可以参考这个VirtualBox下安装CentOS7系统

因为CentOS8下载docker太多坑了,我切换成CentOS7
之前本机连接过CentOS8,后面尝试用本机连CentOS7时,报了:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 的错误。具体解决方法,网上有很多,这里放一个连接跳转。
Mac和Linux远程连接服务器异常修复
从VirtualBox到Docker到Gitlab的安装_第5张图片

至此,虚拟机就搭建好了。而且也能够通过本机ssh方式连接虚拟机操作。Oracle VM VirtualBox上操作虚拟机的界面很不友好。


虚拟机安装docker

首先把虚拟机的防火墙关了

# 关闭防火墙
systemctl stop firewalld.service
# 永久关闭防火墙
systemctl disable firewalld.service

一开始下载的是CentOS8,在安装docker过程中遇到各式各样的问题。中途查了很多资料最终也么有解决问题。这里还是把过程中查到觉得有用的资料列出来。

  • 容器技术之Centos8安装Docker
  • CentOS 8 安装 docker 解决 containerd.io> 问题
  • Install Docker Engine on CentOS

我从CentOS8切换成CentOS7,再试一下。
后面用回自己的电脑,不用公司的网络和电脑。发现就没有那么多乱七八糟的问题出现。

正式安装docker

  1. 可以参考官网Install Docker Engine on CentOS
  2. 不想看英文,也可以借鉴这篇文章Centos7上安装docker
  3. docker-compose安装-官网
    具体命令:
#1 确保 yum 包更新到最新
sudo yum update

#2 卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker  docker-common docker-selinux docker-engine

#3 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

#4 设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#5 安装docker
sudo yum install docker-ce

#6 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker

#7 验证安装是否成功
docker version

#8 后面会用到docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

#9 赋予权限
sudo chmod +x /usr/local/bin/docker-compose

关于宿主机与虚拟机的连接
当虚拟机ping不通宿主机时,可以看看这篇文章。虚拟机ping不通主机,但是主机可以ping通虚拟机


下载Gitlab

  1. 打开Docker Hub
    从VirtualBox到Docker到Gitlab的安装_第6张图片2. 选择想要的版本
    从VirtualBox到Docker到Gitlab的安装_第7张图片3. 查看官网的安装文档
    从VirtualBox到Docker到Gitlab的安装_第8张图片4. 这里有3种安装方式,正常我们应该只用到Docker Engine & Docker Compose
    从VirtualBox到Docker到Gitlab的安装_第9张图片

使用Docker Compose的方式安装

  1. 拉GItlab镜像
docker pull store/gitlab/gitlab-ce:11.10.4-ce.0

从VirtualBox到Docker到Gitlab的安装_第10张图片2. 查看镜像是否拉取成功

docker images

查看镜像是否拉取成功3. 跟着官网的步骤,写一个docker-compose.yml的文件
从VirtualBox到Docker到Gitlab的安装_第11张图片
4. 关于docker-compose.yml

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'http://192.168.0.10' -> 这里要改成IP地址,例如,我的IP是:192.168.0.10
  ports:
    - '80:80'
    - '443:443'
    - '2222:22' -> 我虚拟机22的端口给ssh占用了,所以我这里改成了2222
  volumes:
    - '/srv/gitlab/config:/etc/gitlab'
    - '/srv/gitlab/logs:/var/log/gitlab'
    - '/srv/gitlab/data:/var/opt/gitlab'

虚拟机,我选了两个网卡:NAT + 桥接网络
NAT,用来做端口映射
桥接网络,用来做宿主机和虚拟机连接

# 查看虚拟机ip地址
ip address

这里圈出来的ipdocker-compose.yml中的ip对应
从VirtualBox到Docker到Gitlab的安装_第12张图片

关于虚拟机不同的网络模式的作用,具体可以百度一下
设置网络模式这一块,一开始也卡了我很久,现在也还是一知半解的,就不误导大家了。
可以参考这篇文章:VMware虚拟机三种网络模式详解

.
5. 启动Gitlab

docker-compose up -d

# 查看container的状态,从starting,到health时,就启动好了
docker ps

starting
在这里插入图片描述
6. 虚拟机的端口映射
打开VirtualBox,找到对应的虚拟机,根据截图中的数字步骤执行。
将Gitlab用到的80端口映射出来
从VirtualBox到Docker到Gitlab的安装_第13张图片 7. 回到宿主机,输入虚拟机的ip地址访问Gitlab
从VirtualBox到Docker到Gitlab的安装_第14张图片8. 这里要求修改root账号的密码,初始化root的密码后,就可以真正的进到主页了。
剩下的就是平时我们做的创建项目、pull & push code的操作了。
从VirtualBox到Docker到Gitlab的安装_第15张图片

至此,从虚拟机docker网络设置gitlab 就结束了。
折腾了一天多终于搞好了。花费的时间主要是,一开始想要用公司的电脑折腾的,碰巧这周的VPN很不稳定,经常断线。又重新用回自己的电脑折腾。其二是在网络设置那一块花费了不少的时间。
接下来会把Gitlab的CI/CD、Gitlab CI/CD的执行情况(Monitoring)、SonarQube的步骤给完善了,尽量的重现项目组中:代码管理、自动化部署、代码质量监控的流程。

这篇文章主要也是作为自己学习过程中的记录,当中肯定存在多余、错误的步骤,还望各位大佬指导批评。

你可能感兴趣的:(Docker,Gitlab)