虚拟化 通常分为硬件级虚拟化和操做系统级虚拟化。硬件级虚拟化 是运行在硬件之上的虚拟化技术,它的管理软件有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