Docker是一个开发、部署、运维、管理容器化应用的平台。使用Linux容器部署应用称之为应用的容器化,本身并不是新鲜事物,但是Docker使这项技术的应用变得更容易,容器化变得越来越流行主要是因为它具备如下几个优点:
- 灵活:任何复杂的应用都可以容器化
- 轻量:容器化共享主机内核,相对于操作系统级的虚拟化方案更加轻量。
- 交替升级:在线更新、升级。
- 可移植:一次构建,到处部署。
- 扩缩容:手动或自动控制副本数量。
- 堆栈化:服务垂直堆栈化。
镜像与容器
容器就是运行中的镜像,镜像是一个打包好可执行程序,包含所有运行所需的东西,如代码、运行时环境、配置文件、依赖的库、环境变量等。
容器在运行时,会将镜像中的可执行代码载入内存并启动进程,自然的运行中的容器是有状态的。可以通过docker ps命令查看所有正在运行中的容器。镜像相当于是存储在文件系统中的静态代码,容器相当于是运行中的程序实例。不同的地方在于,容器通过名称空间为程序的运行提供了一个隔离的环境,通过cgroup对容器能使用的资源进行了限制。
容器与虚拟机
虚拟机VM是虚拟出一套完整的操作系统,而容器并不是,它是共享操作系统内核,只是通过名称空间与cgroup技术,为程序的运行提供独立的运行环境,所以容器化是更轻量组的虚拟化技术。
Docker安装
参考:https://blog.csdn.net/dkfajsldfsdfsd/article/details/79898787
简单测试
## List Docker CLI commands
docker
docker container --help
## Display Docker version and info
docker --version
docker version
docker info
## Execute Docker image
docker run hello-world
## List Docker images
docker image ls
## List Docker containers (running, all, all in quiet mode)
docker container ls
docker container ls --all
docker container ls -aq