Docker入门,Part 1:方向
非常的开心,我们能够一起来学习Docker。通过Docker入门手册我们将一起学习了解以下几个方面的内容:
- 配置Docker环境
- 构建镜像并启动容器
- 运行多个容器扩容你的应用
- 添加后端数据库实现应用栈
- 在生产环境上部署应用
Docker相关概念
Dockers为开发运维人员提供一个利用容器实现的开发,部署,运行的统一平台。利用Linux的容器技术实现应用的部署称之为容器化。容器并不是一门新的技术,但是通过容器来实现便捷的应用部署却是非常新颖的技术和方向。
容器化越来越流行是因为:
- 灵活:即使是非常复杂的应用也能够实现容器化
- 轻量:容器与主机是共用同一个内核,我们可以这么理解容器实际上就是主机上的一个进程(当然这个描述不一定准确)
- 可变:我们能够实现快捷的云部署和更新
- 便捷:我们能够在本地构建,在云端部署,在任何地方运行
- 可扩展:我们能够自动化的增加分布式容器的副本
-
堆栈:能够实现垂直的堆栈
Docker
镜像和容器
通过运行镜像来启动一个容器。镜像是一个可执行的包,包括运行应用所必需的所有东西(代码,运行环境,依赖库,环境变量和配置文件等)
一个容器就是运行镜像的实例。在Linux环境下我们可以通过命令docker ps来查看所有正在运行的容器
容器和虚拟机
容器运行于原生的主机系统中并与其他容器共同使用主机内核。每个容器都是独立运行的进程,不占用任何不必要的内存,所以非常的轻量
相比而言,虚拟机则是通过虚拟机管理程序虚拟访问主机资源运行了一个完整的操作系统。一般情况下,虚拟机提供的运行环境会比应用程序实际需要的资源更多。赞成资源的浪费和环境的笨重。
[图片上传失败...(image-381cc3-1533459729457)]
[图片上传失败...(image-3c6c54-1533459729457)]
准备我们的Doker环境
该章节会通过而外一篇文章来介绍,请在站内查找
测试Doker
- 运行
docker --version确保安装是可用的版本 - 运行
docker info(或者docker version,不添加--)查看更多的docker安装信息
为避免权限的问题,需要将用户添加到docker组
测试Docker
- 我们从运行一个非常简单的容器开始,运行万能的hello-world开始测试我们的安装是否成功
docker run hello-world,如果一切OK,我们能够在终端看到运行成功的提示信息 - 查看本机上下面的镜像信息
docker image ls - 查看上文提到的hello-world容器信息,
docker container ls --all(如果上文的hello-world容器一直在运行,可以不用添加--all选项)
回顾
## 列出Docker命令行命令
docker
docker container --help
## 查看Docker版本和相关信息
docker --version
docker version
docker info
## 运行Docker镜像
docker run hello-world
## 查看镜像
docker image ls
## 查看容器 (运行中, 所有,所有关闭模式的)
docker container ls
docker container ls --all
docker container ls -aq
总结
容器化是CI/CD无缝的集成,例如:
- 应用不再有系统的依赖(一处构建,多处运行)
- 能够对已发布的应用任何一部分进行更新
- 资源使用率得到优化
使用Docker,扩展应用程序的就仅仅在于启动新的容器,而不是运行笨重的VM主机
