一、说明概要
1.1 前言
作为一个开发人员,之前也接触过Docker以及Jenkins等这类工具,但是都是公司同事搭建好了的,自己只会简单用,而且是傻瓜式的别人说怎么用就怎么用。我想通过自己动手实践安装Docker环境,并基于Docker搭建起一套目前较为流行的CI/CD环境,不再满足于使用,而是要自己进行探索。我想的是写一个系列的文章,把我从自己的本机搭建Docker环境的过程以及平时工作中的一些实践经验结合起来作为笔记,然后分享出来。更新情况可能会视自己的具体情况来,因为我实际上也没有搭建过CI/CD环境,很多东西也需要我去先学习,预期会进行下面的一些操作:
- 虚拟机中安装ubuntu系统及配置
- Docker 的安装与常见用法
- Rancher2.x安装与使用
- Jenkins安装与使用
- 建立自己的Jenkins镜像
- 建立自己的maven镜像
- 实践Springboot应用的CI/CD
- 容器环境下应用日志采集
- 使用rancher-pipeline完成应用的DevOps流程
- 使用GitLab的CI/CD完成应用的DevOps流程
- Docker Hub的使用演示
- 搭建私有Docker镜像仓库
- 其它
1.2 环境前期准备
如果你和我一样是windows系统,首先你得准备安装一个虚拟机,并在虚拟机上安装ubuntu系统,后续的一系列环境安装都是虚拟机上的ubuntu系统来进行的。 如果你没有这些软件,我已经为你上传到了我的百度网盘中,你可以从中下载。
百度网盘链接:https://pan.baidu.com/s/1hf8I0NdFamT1RvUPVg5V8A
提取码:82jf
下载后,里面有你需要的Vmware虚拟机与ubuntu系统镜像,如果你的系统上已经安装过虚拟机,那么你得保证它能够支持ubuntu-18.04.1.0系统,如果不能保证,那么我建议你和我采用一样的软件版本:
VM:VMware® Workstation 15 Pro 15.0.1 build-10737736
OS: ubuntu-18.04.1.0-live-server-amd64
IP: 192.168.225.129 (虚拟机系统设置静态IP,参考2.2配置ubuntu)
这里我们忽略了Vmware的安装,因为这真的太简单了,就像你在windows上安装其它应用一样。接下来,我们将正式进入docker决战到底,从Vmware中安装ubuntu操作系统开始。
二、安装ubuntu系统
2.1 从Vmware中安装
一般对于开发人员来说,都自己搭建过虚拟机,如果你对虚拟机中安装ubuntu系统已经很熟悉了,你可以跳过此节,直接进入下一节2.2 配置ubuntu。对于没有自己搭建过虚拟机环境的来说,也不必担心,可以参考本节内容来创建虚拟机:
首先打开Vmware Workstation,在主页选项卡中点击创建新的虚拟机
选择典型,直接下一步
选择从我们刚才百度网盘中下载下来的系统镜像,下一步
输入你的机器名及用户名,注意不能输入内置root用户名,设置好密码后,下一步
你可以在自定义硬件里配置你的CPU内存网络等信息,这儿网络选择NAT,NAT方式客户机之间的通讯不经过路由器,用NAT 的方式配置集群会更好,我们直接点击完成,就会开启我们的虚拟机
稍等片刻,会出现如下界面,就是开始安装我们的ubuntu系统了,几乎是全程无其他操作,直接下一步(enter键)即可:
这里选择continue
配置文件的设置
等待安装完成后会出现reboot now,选择它回车
等待出现如下界面,输入你的用户名后回车,再输入密码回车
到此为止,恭喜你,你已经成功的在Vmware中安装了ubuntu系统,接下来需要配置一下我们的ubuntu系统环境。
2.2 配置ubuntu
2.2.1 修改时区
$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.2.2 关闭防火墙
$ sudo ufw disable
2.2.3 设置静态IP
首先你得从Vmware控制台上入手,如果你和我保持同样的版本的话,你的界面应该是这样的,点击如下图的编辑,选择虚拟网络编辑器:
选中NAT模式,默认是勾选了使用本地DHCP服务将IP地址分配给虚拟机,这儿我们去掉勾选,因为后面我们将在虚拟机系统里面配置静态IP,而不是用DHCP动态分配:
接下来我们在虚拟机系统里进行配置。 ubuntu从17.10开始,已放弃在/etc/network/interfaces里固定IP的配置,即使配置也不会生效,而是改成netplan方式,对应我们系统的/etc/netplan/50-cloud-init.yaml文件,使用如下命令对其进行修改:
$ sudo vi /etc/netplan/50-cloud-init.yaml
修改为如下内容:
network:
ethernets:
ens33:
addresses: [192.168.225.129/24]
# dhcp4: true
gateway4: 192.168.225.2
nameservers:
addresses: [192.168.225.2]
optional: true
version: 2
network:
ethernets:
ens33:
addresses: [192.168.225.129/24]
# dhcp4: true
gateway4: 192.168.225.2
nameservers:
addresses: [192.168.225.2]
optional: true
version: 2
保存后,我们使用如下命令来使之生效:
$ sudo netplan apply
$ sudo netplan apply
使用 ping www.baidu.com 令来看是否能连上外网,如果不能那么说明配置有问题,你需要检查你的网关与DNS等信息是否符合先前在虚拟网络编辑器中对NAT模式的网络配置。 特别注意的是,一定要是固定IP且能连上外网才能进行我们接下来的工作,同时需要你的主机能ping通虚拟机。 到此为止,我们在虚拟机上已经搭建完成了ubuntu系统并进行好相应配置,后续操作都将会把这个ubuntu系统作为宿主机使用。为了后面的操作出现问题能够快速回滚系统,这时候后可以在Vmware中对当前状态进行快照,如果后续安装各种环境的过程中出了问题,我们随时可以恢复到目前状态的可用系统,包括在后面的任意一个环节中,你都可以这样做。
结束语: 对于虚拟机中安装ubuntu系统就差不多到这,因为我自己也实际只做了这些操作,比较耗时的就是我在配置静态IP的时候,走了不少弯路,因为以前对网络这块接触很少,可以说是一个小白,花费了不少精力才把网络配置正确。
关于接下来docker相关学习, CI/CD环境搭建,我都会持续更新,差不多我自己一边学一边整理出来。