docker
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。
容器是完全使用沙箱机制,相互之间不会有任何接口,而且容器性能开销极低。
应用场景:
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
Docker优点:
1、简化程序
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理
2、避免选择恐惧症
Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作
3、节省开支
Docker 与云的结合,让云空间得到更充分的利用
Docker架构
使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
Docker 镜像 (Images) |
Docker 镜像是用于创建 Docker 容器的模板。 |
Docker 容器 (Container) |
容器是独立运行的一个或一组应用。 |
Docker 客户端 (Client) |
Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。 |
Docker 主机(Host) |
一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
Docker 仓库(Registry) |
Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。 |
Docker Machine |
Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
Ubutu下 安装
Docker 要求 Ubuntu 系统的内核版本高于 3.10
验证uname -r
sudo apt-get update sudo apt-get install -y docker.io
启动docker 后台服务
sudo service docker start
查看Docker版本
docker version
测试运行hello-world
docker run hello-world
1)docker 客服端程序已经连接上了服务器进程
2)docker 服务器进程会去Docker Hub 上拉去 hello world 这个镜像
3)docker 服务器从镜像中运行一个容器,并产生输出
4)docker 服务器将输出信息传给客户端,并在终端上显示
windows上安装
Docker 引擎使用的是 Linux 内核特性,在 Windows 上使用一个轻量级的虚拟机 (VM) 来运行 Docker
Boot2Docker 来安装虚拟机和运行 Docker
1.运行安装文件,将会安装 virtualbox、MSYS-git boot2docker Linux 镜像和 Boot2Docker 的管理工具
2.运行
Boot2Docker Start
Boot2Docker Start 将启动一个 Unix shell 来配置和管理运行在虚拟主机中的 Docker
查看它是否正常工作,运行 docker version
使用boot2docker.exe ssh 连接到虚拟主机上,然后执行docker run hello-world