一、說明概要
1.1 前言
作為一個(gè)開發(fā)人員,之前也接觸過Docker以及Jenkins等這類工具,但是都是公司同事搭建好了的,自己只會(huì)簡(jiǎn)單用,而且是傻瓜式的別人說怎么用就怎么用。我想通過自己動(dòng)手實(shí)踐安裝Docker環(huán)境,并基于Docker搭建起一套目前較為流行的CI/CD環(huán)境,不再滿足于使用,而是要自己進(jìn)行探索。我想的是寫一個(gè)系列的文章,把我從自己的本機(jī)搭建Docker環(huán)境的過程以及平時(shí)工作中的一些實(shí)踐經(jīng)驗(yàn)結(jié)合起來作為筆記,然后分享出來。更新情況可能會(huì)視自己的具體情況來,因?yàn)槲覍?shí)際上也沒有搭建過CI/CD環(huán)境,很多東西也需要我去先學(xué)習(xí),預(yù)期會(huì)進(jìn)行下面的一些操作:
- 虛擬機(jī)中安裝ubuntu系統(tǒng)及配置
- Docker 的安裝與常見用法
- Rancher2.x安裝與使用
- Jenkins安裝與使用
- 建立自己的Jenkins鏡像
- 建立自己的maven鏡像
- 實(shí)踐Springboot應(yīng)用的CI/CD
- 容器環(huán)境下應(yīng)用日志采集
- 使用rancher-pipeline完成應(yīng)用的DevOps流程
- 使用GitLab的CI/CD完成應(yīng)用的DevOps流程
- Docker Hub的使用演示
- 搭建私有Docker鏡像倉(cāng)庫(kù)
- 其它
1.2 環(huán)境前期準(zhǔn)備
如果你和我一樣是windows系統(tǒng),首先你得準(zhǔn)備安裝一個(gè)虛擬機(jī),并在虛擬機(jī)上安裝ubuntu系統(tǒng),后續(xù)的一系列環(huán)境安裝都是虛擬機(jī)上的ubuntu系統(tǒng)來進(jìn)行的。 如果你沒有這些軟件,我已經(jīng)為你上傳到了我的百度網(wǎng)盤中,你可以從中下載。
百度網(wǎng)盤鏈接:https://pan.baidu.com/s/1hf8I0NdFamT1RvUPVg5V8A
提取碼:82jf
下載后,里面有你需要的Vmware虛擬機(jī)與ubuntu系統(tǒng)鏡像,如果你的系統(tǒng)上已經(jīng)安裝過虛擬機(jī),那么你得保證它能夠支持ubuntu-18.04.1.0系統(tǒng),如果不能保證,那么我建議你和我采用一樣的軟件版本:
VM:VMware? Workstation 15 Pro 15.0.1 build-10737736
OS: ubuntu-18.04.1.0-live-server-amd64
IP: 192.168.225.129 (虛擬機(jī)系統(tǒng)設(shè)置靜態(tài)IP,參考2.2配置ubuntu)
這里我們忽略了Vmware的安裝,因?yàn)檫@真的太簡(jiǎn)單了,就像你在windows上安裝其它應(yīng)用一樣。接下來,我們將正式進(jìn)入docker決戰(zhàn)到底,從Vmware中安裝ubuntu操作系統(tǒng)開始。
二、安裝ubuntu系統(tǒng)
2.1 從Vmware中安裝
一般對(duì)于開發(fā)人員來說,都自己搭建過虛擬機(jī),如果你對(duì)虛擬機(jī)中安裝ubuntu系統(tǒng)已經(jīng)很熟悉了,你可以跳過此節(jié),直接進(jìn)入下一節(jié)2.2 配置ubuntu。對(duì)于沒有自己搭建過虛擬機(jī)環(huán)境的來說,也不必?fù)?dān)心,可以參考本節(jié)內(nèi)容來創(chuàng)建虛擬機(jī):
首先打開Vmware Workstation,在主頁(yè)選項(xiàng)卡中點(diǎn)擊創(chuàng)建新的虛擬機(jī)

選擇典型,直接下一步

選擇從我們剛才百度網(wǎng)盤中下載下來的系統(tǒng)鏡像,下一步

輸入你的機(jī)器名及用戶名,注意不能輸入內(nèi)置root用戶名,設(shè)置好密碼后,下一步



你可以在自定義硬件里配置你的CPU內(nèi)存網(wǎng)絡(luò)等信息,這兒網(wǎng)絡(luò)選擇NAT,NAT方式客戶機(jī)之間的通訊不經(jīng)過路由器,用NAT 的方式配置集群會(huì)更好,我們直接點(diǎn)擊完成,就會(huì)開啟我們的虛擬機(jī)

稍等片刻,會(huì)出現(xiàn)如下界面,就是開始安裝我們的ubuntu系統(tǒng)了,幾乎是全程無其他操作,直接下一步(enter鍵)即可:









這里選擇continue

配置文件的設(shè)置



等待安裝完成后會(huì)出現(xiàn)reboot now,選擇它回車

等待出現(xiàn)如下界面,輸入你的用戶名后回車,再輸入密碼回車


到此為止,恭喜你,你已經(jīng)成功的在Vmware中安裝了ubuntu系統(tǒng),接下來需要配置一下我們的ubuntu系統(tǒng)環(huán)境。
2.2 配置ubuntu
2.2.1 修改時(shí)區(qū)
$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.2.2 關(guān)閉防火墻
$ sudo ufw disable
2.2.3 設(shè)置靜態(tài)IP
首先你得從Vmware控制臺(tái)上入手,如果你和我保持同樣的版本的話,你的界面應(yīng)該是這樣的,點(diǎn)擊如下圖的編輯,選擇虛擬網(wǎng)絡(luò)編輯器:

選中NAT模式,默認(rèn)是勾選了使用本地DHCP服務(wù)將IP地址分配給虛擬機(jī),這兒我們?nèi)サ艄催x,因?yàn)楹竺嫖覀儗⒃谔摂M機(jī)系統(tǒng)里面配置靜態(tài)IP,而不是用DHCP動(dòng)態(tài)分配:

接下來我們?cè)谔摂M機(jī)系統(tǒng)里進(jìn)行配置。 ubuntu從17.10開始,已放棄在/etc/network/interfaces里固定IP的配置,即使配置也不會(huì)生效,而是改成netplan方式,對(duì)應(yīng)我們系統(tǒng)的/etc/netplan/50-cloud-init.yaml文件,使用如下命令對(duì)其進(jìn)行修改:
$ sudo vi /etc/netplan/50-cloud-init.yaml
修改為如下內(nèi)容:
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
使用 ping www.baidu.com 命令來看是否能連上外網(wǎng),如果不能那么說明配置有問題,你需要檢查你的網(wǎng)關(guān)與DNS等信息是否符合先前在虛擬網(wǎng)絡(luò)編輯器中對(duì)NAT模式的網(wǎng)絡(luò)配置。 特別注意的是,一定要是固定IP且能連上外網(wǎng)才能進(jìn)行我們接下來的工作,同時(shí)需要你的主機(jī)能ping通虛擬機(jī)。 到此為止,我們?cè)谔摂M機(jī)上已經(jīng)搭建完成了ubuntu系統(tǒng)并進(jìn)行好相應(yīng)配置,后續(xù)操作都將會(huì)把這個(gè)ubuntu系統(tǒng)作為宿主機(jī)使用。為了后面的操作出現(xiàn)問題能夠快速回滾系統(tǒng),這時(shí)候后可以在Vmware中對(duì)當(dāng)前狀態(tài)進(jìn)行快照,如果后續(xù)安裝各種環(huán)境的過程中出了問題,我們隨時(shí)可以恢復(fù)到目前狀態(tài)的可用系統(tǒng),包括在后面的任意一個(gè)環(huán)節(jié)中,你都可以這樣做。
結(jié)束語(yǔ): 對(duì)于虛擬機(jī)中安裝ubuntu系統(tǒng)就差不多到這,因?yàn)槲易约阂矊?shí)際只做了這些操作,比較耗時(shí)的就是我在配置靜態(tài)IP的時(shí)候,走了不少?gòu)澛?,因?yàn)橐郧皩?duì)網(wǎng)絡(luò)這塊接觸很少,可以說是一個(gè)小白,花費(fèi)了不少精力才把網(wǎng)絡(luò)配置正確。
關(guān)于接下來docker相關(guān)學(xué)習(xí), CI/CD環(huán)境搭建,我都會(huì)持續(xù)更新,差不多我自己一邊學(xué)一邊整理出來。