在計算機中,虛擬化(英語:Virtualization)是一種資源管理技術,是將計算機的各種實體資源,如伺服器、網路、記憶體及儲存等,予以抽象、轉換後呈現出來,打破實體結構間的不可切割的障礙,使使用者可以比原本的組態更好的方式來應用這些資源。這些資源的新虛擬部份是不受現有資源的架設方式,地域或物理組態所限制。一般所指的虛擬化資源包括計算能力和資料儲存。在實際的生產環境中,虛擬化技術主要用來解決高效能的物理硬體產能過剩和老的舊的硬體產能過低的重組重用,透明化底層物理硬體,從而最大化的利用物理硬體 對資源充分利用。虛擬化技術種類很多,例如:軟體虛擬化、硬體虛擬化、記憶體虛擬化、網路虛擬化(vip)、桌面虛擬化、服務虛擬化、虛擬機器等等。
kvm:kernel-based-virtual-machine即基於核心的虛擬機器開源的系統虛擬環模組
exsi:VMware的商用的裝在裸機上的可以虛擬化出多個機器的管理程式
openstack:Python開發的管理雲平臺,如華為雲、電信雲
docker:容器技術
k8s:管理docker容器的容器編排
一、Docker簡介及安裝
1. 介紹
Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘專案。它基於 Google 公司推出的 Go 語言實現。 專案後來加入了 Linux 基金會,遵從了 Apache 2.0 協議,專案程式碼在 GitHub 上進行維護,Docker 自開源後受到廣泛的關注和討論,以至於 dotCloud 公司後來都改名為 Docker Inc。Redhat 已經在其 RHEL6.5 中集中支援 Docker;Google 也在其 PaaS 產品中廣泛應用。Docker 專案的目標是實現【輕量級的作業系統虛擬化解決方案】。Docker 的基礎是 Linux 容器(LXC)等技術。在 LXC 的基礎上 Docker 進行了進一步的封裝,讓使用者不需要去關心容器的管理,使得操作更為簡便。使用者操作 Docker 的【容器就像操作一個快速輕量級的虛擬機器】一樣簡單。
相關docker的概念講解
docker是cs架構 使用的http協議,符合resful規範
Docker映象:特殊的檔案系統
Docker容器:映象執行起來,成為了容器,可以對比成>映象-類;物件-容器
Registry(註冊中心):相當於Python的pip install、或類似於git pull
2. 安裝
本篇主要講在Linux系統中的安裝方式,安裝到Windows或Mac的方法很簡單,點點點,一路下一步即可,但是需要搞懂前置條件需要修改一些配置,反正也涉及不到這兩個作業系統,實際工作環境docker基本都在Linux作業系統中使用
第一步:如果之前使用過的話需要先解除安裝
yum remove docker docker-common docker-selinux docker-engine
rm -rf /var/lib/docker
第二步:安裝
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce
第三步:按照完透過檢視版本號來確定是否成功
docker -v
二、Docker 啟動設定映象
1. 檢視以及啟動docker的相關命令
第一步:安裝完成之後可以檢視docker狀態
systemctl status docker
第二步:啟動docker的命令
systemctl start docker
2. 設定國內映象站
第一步:先獲取屬於自己的映象加速器
第二步:進入docker的配置檔案
vim /etc/docker/daemon.json
第三步:修改配置並儲存退出
{
"registry-mirrors": ["https://zho2fb41.mirror.aliyuncs.com"]
}
第四步:執行以下命令進行重新載入配置檔案並重啟
sudo systemctl daemon-reload
sudo systemctl restart docker
3. 啟動與停止docker服務的常用命令
# 啟動docker:
systemctl start docker
# 停止docker:
systemctl stop docker
# 重啟docker:
systemctl restart docker
# 檢視docker狀態:
systemctl status docker
# 開機啟動:
systemctl enable docker
# 檢視docker概要資訊
docker info
# 檢視docker幫助文件
docker --help
三、 映象相關命令
# 1 查詢映象
docker search 映象名稱
建議去hub.docker.com 直接搜,更直觀(跟git拉去專案一樣)
# 2 拉取映象,指定標籤 tag
docker pull centos:7
如果不指定標籤,會下載最新
# 3 檢視本地映象
docker images # 等同於 docker image ls
# 4 刪除映象
docker rmi container_ID # 可以同時刪多個
# 5 刪除所有映象 查出所有映象的id號
docker rmi `docker images -q`
四、映象製作成容器並執行
1. 檢視執行的容器
# 檢視正在執行的容器
docker ps
# 檢視所有容器,-a 指的是 all最後的意思
docker ps -a
# 檢視最後一次執行的容器,-l 指的是 last最後的意思
docker ps -l
2. 執行容器
# 啟動一個centos容器,名字叫mycentos,並且進入
docker run -it --name=mycentos centos:7
yum install vim -y # 在容器中裝了vim軟體
exit # 退出,容器停止了
# 啟動/停止容器
docker start mycentos
docker stop container_ID
# 進入到容器內部
docker exec -it f82e8578b9b1 /bin/bash
3. 做目錄對映
# -v引數:目錄對映
# 以後無論在宿主機還是容器中修改當前目錄下的檔案,都會相互影響不用提前在宿主機新建mire檔案
docker run -id --name=mire -v /home/mire:/mire centos:7
4. 做埠對映
docker run -id --name=mysql -p 80:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
netstat -nlp |grep 80 # 檢視本機80埠占用情況