1、什么是docker
- docker是开源的应用容器引擎,基于
go开发
并遵循了apache2.0 协议开源
- Docker 是在Linux 容器里运行应用的开源工具,是一种轻量级的“虚拟机”
2、docker的三大核心
(1)镜像(image)
- 镜像是创建容器的基础,类似虚拟机的快照
- 通过镜像启动容器,一个镜像是
可执行的包
,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。 - Docker镜像也是一个压缩包,只是这个压缩包不只是可执行文件,环境部署脚本,它
还包含了完整的操作系统
。因为大部分的镜像都是基于某个操作系统来构建,所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。
(2)容器(container)
- Docker的容器是
从镜像创建的运行实例
,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。可以把容器看做是一个简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。
(3)仓库(repository)
仓库注册服务器上往往存放着多个仓库,每个仓库中包含了多个镜像,每个镜像有不同标签(tag)。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是 Docker Hub:https://hub.docker.com,存放了数量庞大的镜像供用户下载。
国内的公开仓库包括阿里云 、网易云等。
常用命令
镜像相关
docker pull 镜像名称[:版本]
从仓库拉取镜像
容器相关
docker container list [-a]
列举所有当前正在运行的容器,加-a参数,会把当前没有运行的容器也列举docker run 镜像名称
,运行容器,常用参数docker exec -it webserver bash
使用bash进入名为webserver的容器中
-docker diff webserver
查看容器webserver修改了那些容器存储层的文件