docker是什么?
开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题 。
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
主要用途
-
提供一次性的环境
比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
-
提供弹性的云服务
因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
-
组建微服务架构
通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
docker组成
一个完整的Docker有以下几个部分组成:
-
Docker Client客户端
-
Docker Daemon守护进程
-
Docker Image镜像
-
Docker Container容器
我们通过客户端写命令,然后客户端将命令发送给守护进程,守护进程再将命令执行的结果返回给客户端,这就使我们能通过命令查看执行结果,镜像就是容器的源代码,容器通过镜像启动,使用仓库来保存用户构建的镜像,仓库分为共有和私有。