个人在工作中会遇到需要使用这个东西的情况!!!
Docker 首先不是什么新的概念,只要你有基本的操作系统或者软件方面的知识,Docker 的使用就会很容易。
1. 安装
这部分网上教程很多,这里我给一篇参考: Docker 安装。
重点说一下,这篇文章中有个镜像加速器,怎么说呢,本质应该是阿里提供了一个高速通道连接了国外的镜像仓库,或者是阿里自己有的一个国外镜像仓库的副本,总之,你配置好了以后,使用Docker下载镜像会快一点。
2. 基础教程
这部分我也不想说太多,给你一个参考的链接,自己看看:Docker 教程
3. 基本结构
首先这部分是我意淫的,没有做任何的调研,我只是根据自己的经验总结的,我经常这么问自己,如果是我来设计这款软件我该怎么做?所以下面的内容不是官方的设计内容,只能做参考。
- 为了完成一个类似虚拟机的东西,那么最好有一个虚拟机平台,这个平台类似java虚拟机。所以我最好在后台启动一个服务,这个服务就是docker的服务。启动服务的命令如下:
service docker start
这个其实就是简单的C/S结构。
-
Docker里面有两个重要的概念,一个是镜像,一个是容器。有的人把他比作面向对象中的类和对象,我认为如果你认为这么理解可行,有利于你理解什么是Docker,那么这么认为也无可厚非,但是我更愿意把它比作可执行文件和进程,而把Docker服务比作一个小型的操作系统。这样很多的概念就能说的清楚!
-
镜像类似于一个可执行文件,这个文件可以在Docker服务中运行。
Docker为了管理这个镜像,所以有个类似月APP下载平台的东西----Docker仓库,这样你是不是明白了为什么有个官方的仓库,你还可以自建仓库。从而有了查询某个特定镜像的需求和从仓库下载某个特定镜像的需求。当然软件还有什么版本和种类,镜像也有这个类似的概念。
我们知道可执行文件,其实就是一个资源,针对资源,你是不是经常有增删查改的需求?所以会有制作镜像的概念,本地查询镜像的概念,如何删除本地镜像的概念,如何在已有的镜像上新增功能的概念。
- 容器就是一个Docker服务中的进程,容器的启动需要一个镜像。
Docker服务是一个类似虚拟操作系统的东西,所以这玩意必须有个载体,这个载体我称之为主机,所以这里面就是涉及几个基本的概念。
主机如何进入容器,执行容器中的命令?
容器和主机如何通信?
容器和容器之间如何通信?
当然容器也有类似于进程其他特性,比如启动,停止,挂起。还有什么进程列表等等。
- 基于以上的概念,Docker 有一个更伟大的事情可以做了,使用文件部署环境,因为所有的操作都是命令形式,所以可以很容易的使用文件进行操作,剩下的就是要理解我刚刚提到的一些概念,当然事物之间虽然是类似的,但是总有一些是不同的,你还要自己自己品味品味才行!!!
网友评论