虛擬化 通常分爲硬件級虛擬化和操做系統級虛擬化。硬件級虛擬化 是運行在硬件之上的虛擬化技術,它的管理軟件有Hypervisor或virtual machine monitor,它須要模擬的是一個完整的操做系統,例如:VMware、Xen、Virtual Box、AWS EC2和阿里雲ECS。操做系統級虛擬化 是運行在操做系統之上的,它模擬的是運行在操做系統上的多個不一樣進程,並將其封裝在一個密封的容器裏面,也稱爲容器化技術。例如docker。python
IaaS:基礎設施即服務,一般指的是在雲端爲用戶提供基礎設施,如虛擬機、服務器、存儲、負載均衡和網絡等。例如:AWS、阿里雲。
PaaS:平臺即服務,一般指的是在雲端爲用戶提供可執行環境、數據庫、網站服務器和開發工具等。例如:OpenShift、Red Hat、Cloudarea等。
SaaS:軟件即服務,一般指的是在雲端爲用戶提供軟件,如CRM系統、郵件系統、在線協做和在線辦公等,例如:微軟的Office、有道、麥客、Tower等。
CaaS:容器即服務,隨着容器的出現,在傳統IaaS層出現了用容器替代虛擬機的服務模式,這種模式是虛擬雲主機的升級版,因爲容器的輕量級特性,從資源利用率和性能方面都比IaaS層的虛擬機高出不少。
Docker對外宣稱是Build、Ship和Run,Docker要解決的核心問題就是快速地作這三件事。它經過將運行環境和應用程序打包到一塊兒,來解決部署的環境依賴問題,真正作到跨平臺的分發和使用。
容器省去了操做系統,整個層級更簡化,這樣能夠在單臺服務器上運行更多的應用。
cat /etc/yum.repos.d/docker.repoweb
[dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg
yum -y install docker-enginesql
systemctl enable docker systemctl start docker
docker images
REPOSITORY:表示鏡像的倉庫源 TAG:表示鏡像的標籤 IMAGE ID:表示鏡像的ID CREATED:表示鏡像建立時間 SIZE:表示鏡像大小
docker search httpd //查找全部httpd相關的鏡像
docker pull httpd
docker run -d -p 80:80 httpd
-d:讓容器在後臺運行 -P :是容器內部端口隨機映射到主機的高端口。 -p :是容器內部端口綁定到指定的主機端口。
docker pull httpd docker run -d -p 80:80 httpd docker ps docker logs -f ID or name
docker rmi ID
docker rm ID/name
報錯信息:Error response from daemon: conflict: unable to remove repository reference "ubuntu" (must force) - container 23107e15cef9 is using its referenced image 735f80812f90
docker save -o httpd01 httpd
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm docker images|grep none|awk '{print $3 }'|xargs docker rmi
docker ps
docker ps -a
docker ps -l
docker stop awesome_perlman
docker start awesome_perlman
docker run -d -P --name testweb training/webapp python app.py docker ps
[root@centos7-1 ~]# docker exec -it flamboyant_mahavira /bin/bash root@b53edd87befa:/#
docker export ID/name > 文件名
cat 文件名 | docker import - 文件名:標籤
[root@centos7-1 ~]# docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over Username: maaiqiang Password: Login Succeeded
docker run --cpu-quota 20000 容器名
docker run --cpu-shares 1024 容器名
dock run --cpuset-cpus 0,1,2,3 容器名
docker run -m 512m 容器名
docker run --device-write-bps /dev/sda1:1mb 容器名
[root@centos7-1 ~]# docker ps [root@centos7-1 ~]# docker exec -it flamboyant_mahavira /bin/bash root@a717b35f34d3:/#
apt-get update
同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟件包docker
apt-get install vim