大部分服务器长期处在他们的额定负载5%-10%的水平。是一种浪费。

vmware虚拟机的出现,使人们有了一种允许多应用稳定,安全地同时运行在同一个服务器中的技术。

虚拟机最大的缺点是每个虚拟机依赖其操作系统,每个os都需要补丁和监控。操作系统也占用资源。

虚拟机启动慢,移植性差。

容器:运行在相同宿主机上的容器是共享一个操作系统(原主机操作系统)的。

容器启动快,便于移植。

docker使得容器技术变得简单。

运行中的容器,共享宿主机的内核。

docker引擎是运行容器的核心容器运行时。类比为vmware的Esxi。

docker在Ubuntu20.04上的安装:
wget -qO- https://get.docker.com |sh

查看docker版本:docker --version

设置docker开机自启动:sudo systemctl enable docker

docker存储驱动选择:overlay2

在docker主机上获取镜像的操作叫做pulling。电脑使用linux,就会拉取linux系统兼容的镜像。
拉取命令(版本ubuntu:latest): docker image pull ubuntu:latest

查看当前已经拉取到的镜像列表:sudo docker image ls
docker每个镜像都有自己唯一的ID,可以通过引用镜像的ID或名称来使用镜像。

从镜像xxx启动:docker container run -it XXX
it命令参数:1.开启容器交互模式。2.会将shell切换到容器终端,即进入了容器内部。

从容器退回到系统shell,并保持容器运行:ctrl+P+Q

sudo docker container ls 能展示系统内处于运行状态的容器。

再连接运行中的xxx容器命令:
sudo docker container exec -it xxx bash

如何停止某运行中的容器XXX:sudo docker container stop XXX

容器即应用,将应用构建到某个镜像中,然后以容器的方式启动镜像:
1.使用docker image build命令,根据Dockerfile创建新镜像。
sudo docker image build -t test:latest .