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 ...
随机推荐
- 01 . Squid原理配置和使用
Squid简介 Squid是一个支持HTTP,HTTPS,FTP等服务的Web缓存代理软件,它可以通过缓存页面来提高服务器的相应速度并降低带宽占用.并且,Squid还具有强大的访问控制功能.Squid ...
- docker环境下的Grafana安装
一.参考资源:https://grafana.com/docs/grafana/latest/installation/docker/ 二.过程 1.安装grafana 查看可用image [root ...
- python数据类型 列表+元组
一:列表 二:元组 一:列表list: 1.列表中的每个元素都可变的,意味着可以对每个元素进行修改和删除: 2.列表是有序的,每个元素的位置是确定的,可以用索引去访问每个元素: 3.列表的所有元素放在 ...
- 蓝桥杯 算法提高 11-1实现strcmp函数 (JAVA方法)
蓝桥杯 算法提高 11-1实现strcmp函数 (JAVA方法) 首先这不是一个多难的题,但是网上的我没怎么找到有Java的代码,基本全都是c语言的,小编是个小白,如果有不对的地方请联系小编 问题描述 ...
- (Java实现)洛谷 P2095 营养膳食
题目描述 Mr.L正在完成自己的增肥计划. 为了增肥,Mr.L希望吃到更多的脂肪.然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养.Mr.L通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超 ...
- Jmeter用beanshell将相应中的参数写入到本地文件中
实现效果: 将每次请求的指定参数写入到本地csv文件中. 实际场景:将登录请求中,服务器返回的token值获取并写入到本地csv文件中,供其他接口调用.这样在压测单接口时,不需要再进行登录,避免压测单 ...
- 汇编指令mov、add、sub、jmp
mov:寄存器,数据 mov:寄存器,寄存器 mov:寄存器,内存单元 mov:段寄存器,内存单元 mov:内存单元,寄存器 mov:内存单元,段寄存器 mov:段寄存器,寄存器 mov:寄存器,段寄 ...
- 简谈Java语言的继承
Java语言的继承 这里简谈Java语言的三大特性之二——继承. Java语言的三大特性是循序渐进的.是有顺序性的,应该按照封装-->继承-->多态这样的顺序依次学习 继承的定义 百度百科 ...
- 华为EMUI在service中不能打印debug级别的日志
华为emui在service里面不能打印debug级别的日志,因为这个小问题调试了一上午,刚开始我还以为emui把系统service的启动流程都改了呢
- Markdown入门学习202004
Markdown入门学习202004 推荐使用Typora这款轻量级markdown编辑软件 标题 # 一级标题(井号后面有空格) ## 二级标题 ### 三级标题 ...... ###### 最多到 ...