首页
登录 | 注册

Docker 快速开始

1.  概念

对于开发人员和系统管理员来说,Docker是一个使用容器开发部署运行应用程序的平台。使用Linux容器部署应用程序称为容器化。容器并不新鲜,但是将它们用于轻松部署应用程序却很新鲜。

容器化越来越受欢迎,是因为容器有以下特点:

  • 灵活性:即使是最复杂的应用程序也可以被容器化
  • 轻量级:容器利用并共享主机内核
  • 可互换的:你可以实时部署更新和升级
  • 可移植性:你可以在本地构建、部署到云,并在任何地方运行
  • 可伸缩:你可以增加并自动分发容器副本
  • 可叠加:你可以垂直地、动态地叠加服务

Docker 快速开始

2.  镜像与容器

image(译:镜像)

一个镜像是一个可执行包,它包含运行应用程序所需的所有内容,包括代码、运行时环境、库、环境变量、配置文件。通过运行镜像类启动一个容器。

container(译:集装箱;容器)

容器是镜像的运行时实例。你可以使用docker ps命令看到正在运行的容器列表,就像在Linux中一样。

(PS:镜像与容器的关系,就好比是类与对象的关系一样。镜像是静态的,当镜像运行的时候它就是一个容器)

3.  容器与虚拟机

容器在Linux本地运行,并与其他容器共享主机的内核。它以独立的进程运行,不占用比任何其他可执行程序更多的内存,使其轻量级。相反,虚拟机(VM)运行一个成熟的“客户”操作系统,通过管理程序对主机资源进行虚拟访问。一般来说,VMs提供的环境比大多数应用程序所需的资源要多。

Docker 快速开始
    Docker 快速开始

4.  安装Docker

就像我们要使用mysql命令之前必须先安装mysql服务一样。Docker作为服务运行,我们也必须先安装它,这里我们安装Mac版。

https://hub.docker.com/search/?type=edition&offering=community

Docker有社区版和企业版,由于笔者的机器限制,此处只能选择安装 “Docker Desktop for Mac”

https://hub.docker.com/editions/community/docker-ce-desktop-mac

注册账号,安装,安装成功并登录后就可以使用了

Docker 快速开始

接下来,测试一下刚才安装的Docker

docker version
docker run hello-world
docker image ls
docker container ls --all
docker container --help

Docker 快速开始

Docker 快速开始

localhost:~ chengjiansheng$ docker image ls                 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        3 months ago        1.84kB
localhost:~ chengjiansheng$ docker container ls --all
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
a9c306fa88b2        hello-world         "/hello"            19 minutes ago      Exited (0) 19 minutes ago                       elegant_heisenberg

5.  备忘单

Docker 快速开始

6.  文档

https://docs.docker.com/get-started/

 


相关文章

  • 从 docker 到 runC
    笔者在前文<RunC 简介>和<Containerd 简介>中分别介绍了 runC 和 containerd.本文我们将结合 docker 中的其它组件探索 docker 是如何把这些组件组织起来协调工作的. Doc ...
  • 为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?
    Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到大家对学习 Spring Boot 的热情,那么在这么多人热衷于学习 Spring Boot 之时,我自己也在 ...
  • ERP不规范,同事两行泪
    最近的很多次对外交流,都聊到了ERP建设的话题,并且无一例外的不那么让人省心,回想我这么多年走过的ERP坑坑路,在这里也写下经验和总结,希望能给正在或者即将走上ERP建设路的企业一些思考和帮助. 导读 1.几个瞎眼而普遍的案例 2.ERP的 ...
  • 一.前言 在日常开发中,我们经常会碰到需要在运行时才知道对象个数的情况,这种情况不能使用数组,因为数组是固定数量的,这个时候我们就会使用集合,因为集合可以存储数量不确定的对象. 集合类是特别有用的工具类,不仅可以存储数量不等的对象,还可以实 ...
  • More Effective C++
    More Effective C++ 35个改善编程与设计的有效方法 只有深入了解C++编译器如何解释代码, 才有可能用C++语言写出健壮的软件. C++的难学, 不仅在其广博的语法, 语法背后的语义, 语义背后的深层思维, 深层思维背后的 ...

2019 cecdns.com webmaster#cecdns.com
12 q. 0.078 s.
京ICP备10005923号