介绍一下docker

2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发。

Docker核心概念

镜像(image) Docker 镜像(Image)就是一个只读的模板。例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

仓库(repository) 仓库(Repository)是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括 时速云 、网易云 等,可以提供大陆用户更稳定快速的访问。当然,用户也可以在本地网络内创建一个私有仓库。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

容器(container) Docker 利用容器(Container)来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。

安装方法

首先是我们的windows10版本下安装docker ,如果你的电脑是家庭教育版建议您下载docker tool box,专业版的下载docker desktop也就是桌面版。

在下载过程中,我们也遇到了一些错误。

比如安装之后出来了三个图标,当我们点击其中一个软件Docker Quickstart Terminal,你会发现它是打不开的 ,这里我们注意一下,docker本身是基于git的。

这里我们这样解决,先找到git的文件位置,找到git下面的bin目录的位置,然后复制它的地址放到Docker Quickstart Terminal的位置前面,然后再双击运行,就可以打开了。

Docker的安装

Docker CE 的安装请参考官方文档。

安装完成后,运行下面的命令,验证是否安装成功。

1
2
3
$ docker version
# 或者
$ docker info

我们常用的镜像有redis,mysql

运行redis镜像

$ docker run -it -p 80:80 a580a

开启守护进程

$ docker run -itd -p 80:80 a580a

列出本地镜像

$ docker images

列出容器

$ docker ps

关闭服务(返回一个ID)

$ docker stop 96f60

强制删除

$ docker rmi -f a580a

docker就像是一个精灵球,我们的项目就是精灵球里面的精灵,当我们开发完毕就可以利用Docker把项目制作成镜像,部署时就可以理解为小精灵被释放出来,进行战斗,而Docker的仓库则提高了镜像的便捷性,可以让我们随时随地只要联网就可以使用自己的镜像。