1.什么是docker ?
Docker 是一个应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化,能够自动执行重复性任务,例如搭建和配置开发环境,从而解放了开发人员.
2.docker的优点 ?
1.简化配置,快速部署。
2.一致的运行环境
3.提升开发效率
4.隔离应用
5.更轻松的维护和拓展
6.跨平台可移植性
模式一
模式二
3.docker的应用场景
1.单项目打包
每次部署项目到测试、生产等环境,都要部署一大堆依赖的软件、工具,而且部署期间出现问题几率很大,不经意就花费了很长时间。
Docker主要理念就是环境打包部署,可在任意Docker Engine运行。前期我们只需要将每个项目环境打包到镜像,push到镜像仓库,当有需要部署这个项目时,直接pull镜像启动容器,这个项目就可以访问了!一次构建多次部署,一劳永逸。
2.微服务
微服务是近几年来IT圈内谈论比较多的一个名词,意义也很简单:尽可能细粒度拆分业务程序架构,由多个独立服务组成业务系统。
Docker的容器设计原则:一个容器一个服务,容器之间相互隔离,正符合微服务的理念。
4.docker的运行原理?
和宿主主机共享内核,所有容器运行在
容器引擎之上,容器并不是一个完整的
操作系统,所有的容器共享操作系统,
在进程级进行隔离
docker的三个基本的概念:
Image(镜像)
Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
Container(容器)
类似linux系统环境,运行和隔离应用。容器从镜像启动的时候,docker会在镜像的最上一层创建一个可写层,镜像本身是只读的,保持不变。
Repository(仓库)
Docker Registry 公有仓库是开放给用户使用、允许用户管理镜像的 Registry 服务。一般这类公开服务允许 用户免费上传、下载公开的镜像,并可能提供收费服务供用户管理私有镜像。
public(公有仓库)
private(私有仓库)
常用命令
docker -v 查看当前Docker版本
docker search 查找镜像
docker pull 从镜像仓库中拉取或者更新指定镜像
docker images 查看本地镜像列表
docker rmi 删除指定镜像
docker run 创建一个容器并运行
docker ps 查看容器启动情况
docker start 运行指定容器(一个或多个)
docker stop 停止指定的运行中的容器
docker restart 重启指定容器
docker port 查看指定容器的端口映射
docker rm 删除指定容器