欢迎您! 很高兴您想学习 Docker 。

这个页面包含了如何开始使用 Docker 的循序渐进的说明。

Docker 快速入门培训模块教你如何:

Docker 概念

Docker 是一个供开发人员和系统管理员构建、运行和与容器共享应用程序的平台。使用容器部署应用程序称为容器化。容器并不是新事物,但它们用于轻松部署应用程序却是新鲜的。

容器化越来越受欢迎,归因于容器有以下优点:

  • 灵活性:即使是最复杂的应用程序也可以容器化。
  • 轻量级:容器利用并共享主机内核,使它们在系统资源方面比虚拟机更有效率。
  • 可移植:您可以在本地构建,部署到云上,并在任何地方运行。
  • 松耦合:容器是高度自给自足和封装的,允许您在不影响其他容器的情况下替换或升级其中一个。
  • 可扩展:您可以跨数据中心增加和自动分发容器副本。
  • 安全性:容器对进程应用主动约束和隔离,而不需要用户进行任何配置。

镜像和容器

从根本上讲,容器不过是一个正在运行的进程,对其应用了一些附加的封装特性,以便将它与主机和其他容器隔离开来。容器隔离的一个最重要的方面是,每个容器与自己的私有文件系统交互;这个文件系统由 Docker 镜像提供。镜像包含运行应用程序所需的所有内容——代码或二进制文件、运行时、依赖项以及所需的任何其他文件系统对象。

容器和虚拟机

容器在 Linux 上本机运行,并与其他容器共享主机的内核。 它运行一个离散进程,占用的内存不比任何其他可执行文件多,从而使其轻巧。相比之下,虚拟机(VM)运行成熟的“来宾”操作系统,通过管理程序虚拟访问主机资源。一般而言,虚拟机会产生比应用程序逻辑本身所消耗资源更多的开销。

容器 虚拟机

设置 Docker 环境

下载并安装 Docker Desktop

Docker Desktop 是一款适用于 Mac 或 Windows 环境的易于安装的应用程序,使您能够在几分钟内开始编码和容器化。Docker Desktop 包含了从您的机器构建、运行和共享容器化应用程序所需的一切。

按照适合您的操作系统的说明下载和安装 Docker Desktop:

Docker 官网下载 Docker Desktop for Windows 可能比较慢,可以到百度云盘下载:

链接:https://pan.baidu.com/s/1HytCMXykgvaKfNFkPAb3gA

提取码:p1ha

检验 Docker 版本

成功安装 Docker Desktop 后,打开一个终端,运行 docker --version 来检查机器上安装的 Docker 版本。

$ docker --version
Docker version 19.03.8, build afacb8b

检验 Docker 安装结果

  1. 通过运行 hello-world Docker 镜像测试您的安装工作:
   $ docker run hello-world

   Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
Status: Downloaded newer image for hello-world:latest Hello from Docker!
This message shows that your installation appears to be working correctly.
...
  1. 运行 docker image ls 以列出你下载到计算机的 hello-world 镜像。
  2. 列出显示其消息后退出的 hello-world 容器(由镜像派生)。如果它仍在运行,则不需要 --all 选项:
   $ docker ps --all

   CONTAINER ID     IMAGE           COMMAND      CREATED            STATUS
54f4984ed6a8 hello-world "/hello" 20 seconds ago Exited (0) 19 seconds ago

结论

现在,您已经在开发机器上安装了 Docker Desktop,并运行了一个快速测试,以确保您已经为构建和运行第一个容器化应用程序进行了设置。

CLI 参考文献

有关本文中使用的所有CLI命令的进一步文档,请参阅以下主题:

作者 : Docker 官网

译者 : 技术译民

出品 : 技术译站

链接 : 英文原文

Docker 快速入门(一)- 情况介绍和安装的更多相关文章

  1. Docker快速入门(二)

    上篇文章<Docker快速入门(一)>介绍了docker的基本概念和image的相关操作,本篇将进一步介绍image,容器和Dockerfile. 1 image文件 (1)Docker ...

  2. 【干货合集】Docker快速入门与进阶

    收录待用,修改转载已取得腾讯云授权 Docker 在众多技术中,绝对是当红炸子鸡.这年头,如果你不懂一点容器,不学一些Docker,还怎么出去跟人炫耀技术? Docker 也是云计算技术中较为热门的一 ...

  3. Docker快速入门

    Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是do ...

  4. OpenStack云计算快速入门之二:OpenStack安装与配置

    原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ...

  5. Docker 快速入门教程

    本文目的是给几乎从未接触过docker,或者仅仅是听说或者通过新闻了解过Docker的同学 通过一个已有的Docker仓库构建和提交自己的Docker 镜像 这里会涉及到一些概念,但是不单独介绍 这里 ...

  6. Netsharp快速入门(之1) 介绍及需求说明

    作者:秋时 杨昶   时间:2014-02-15  转载须说明出处 第一章 快速入门介绍 Netsharp是一个企业基础业务管理平台,介绍Netsharp分三个系列,分别是: 1.         N ...

  7. docker快速入门01——docker安装与简单应用

    1.docker简介 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

  8. 全面的Docker快速入门教程

    前言: 都2021年了,你还在为了安装一个开发或者部署环境.软件而花费半天的时间吗?你还在解决开发环境能够正常访问,而发布测试环境无法正常访问的问题吗?你还在为持续集成和持续交付(CI / CD)工作 ...

  9. 进击的docker 二 : docker 快速入门

    1.安装docker 1.1.安装环境 [root@docker ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@docke ...

随机推荐

  1. win10和centos7双系统双磁盘引导的实现

    win10和centos7双系统双磁盘引导的实现1.背景:dell5460笔记本电脑M2-120G固态盘无法在bios中引导,新装了M360G固态盘后,考虑把120G固态盘安装centos7.5系统做 ...

  2. .net remoting(一)

    一.远程对象 ①RemoteHello.csproj 类库项目,程序集名称 RemoteHello ,默认命名空间 Wrox.ProCSharp.Remoting: ②派生自System.Marssh ...

  3. Redis 入门到分布式 (六)常见的持久化开发运维问题

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.常见问题目录 fork操作 进程外开销 AOF追加阻塞 单机多实例部署 二. fork 1.Fork ...

  4. Java实现 LeetCode 476 数字的补数

    476. 数字的补数 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 示例 1: 输入: 5 输出: 2 解释: 5 的二进制表示为 101(没有前导零位),其补数为 010.所以你需要 ...

  5. Java实现 蓝桥杯VIP 算法训练 成绩的等级输出

    输入一个百分制的成绩t后,按下式输出它的等级.等级为:90100为A,8089为B,7079为C,6069为D,0~59为E. 样例输入 98 样例输出 A import java.util.Scan ...

  6. Java实现 蓝桥杯VIP 算法训练 幂方分解

    问题描述 任何一个正整数都可以用2的幂次方表示.例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b). 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步 ...

  7. java实现第四届蓝桥杯有理数类

    有理数类 题目描述 有理数就是可以表示为两个整数的比值的数字.一般情况下,我们用近似的小数表示.但有些时候,不允许出现误差,必须用两个整数来表示一个有理数. 这时,我们可以建立一个"有理数类 ...

  8. 温故知新-多线程-forkjoin、CountDownLatch、CyclicBarrier、Semaphore用法

    Posted by 微博@Yangsc_o 原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 文章目录 摘要 forkjoin C ...

  9. iOS -App主流框架UINavigationController && UITabBarController的简单使用

     一个iOS app几乎没有由一个控制器组成,除非这个app非常简单.       当app中有多个控制器的时候,就需要对这些控制器进行管理,用1个控制器去管理其他多个控制器:       如图所示: ...

  10. 【大厂面试06期】谈一谈你对Redis持久化的理解?

    Redis持久化是面试中经常会问到的问题,这里主要通过对以下几个问题进行分析,帮助大家了解Redis持久化的实现原理. 1.Redis持久化是什么? 2.Redis持久化有哪些策略?各自的实现原理是怎 ...