Docker学习笔记 - 基本概念

一. 什么是"容器"(container)和"镜像"(Image)

所谓"容器"可以理解为一个模拟操作系统的虚拟层,大部分是基于Linux的,应用程序及其配置信息,依赖库可以打包成一个Image独立运行在这个虚拟层上。基于这个概念,Docker就是其中的一个产品。

Docker和虚拟机的区别是什么呢?
简而言之,容器的虚拟层存在于OS之上,允许应用程序运行在相对独立的虚拟环境中。二虚拟机则虚拟了OS核心的功能。

  • 因此,我们可以在Linux上虚拟windows的运行,而容器则做不到这一点。

  • 但是Docker的image比虚拟机的image小很多,并且dokcer的运行速度也比虚拟机快很多。

    具体区别参见下图。

    使用容器的好处:

  • 简化开发环境的配置:

    开发环境的配置管理是一件非常复杂的事情,尤其在分布式开发环境下,每个组件的配置信息,外部依赖库可能都不一样,要确保发布到服务器上,组件之间不发生冲突是非常困难的。使用了容器后, 这些依赖库和和配置信息都被包含在image里,组件之间互相独立,不会发生冲突。

  • 优化软件发布流程

    以Java web应用发布为例,在使用"容器"之前,我们为发布需要准备jar包,数据库脚本等递交给发布人员 (Operation)。发布人员需要确保服务器上的数据被安装要求更新,服务器配置,外部依赖包等。改成"容器"之后,代码和数据库都以image形式发布,数据,配置信息和依赖包都被包括在这个image里,这大大降低了发布的难度,减少发布发生问题的概率。

二. Docker 安装 [链接](https://docs.docker.com/desktop/?

_gl=111d4x98 _gaMTkyMzQzOTYzOS4xNzEwNzc3Njc5 _ga_XJWPQMJYHQ*MTcxMDgwOTA3OS4yLjAuMTcxMDgwOTA3OS42MC4wLjA.)

可以参阅以上链接来安装Docker.

  • Windows下安装技巧
    第一, 之前说过,docker都是虚拟Linux的环境。想在windows下安装docker的用户,首先需要检测自己的Window安装一个windows下Linux的虚拟环境wsl。
    以管理员权限打开PowerShell,并运行以下命令。

    wsl --install

第二, Windows下安装的是一个叫Docker Desktop的应用程序。但是,这个应用程序会有很多问题,比如image无法删除, 容器无法停止等,很多时候还是要用到命令行。

  • Mac和Linux下的安装
    这个比较简单,直接参考文档即可。

三. 下载Image资源

Docker image 资源网站: https://hub.docker.com/

比如,我们搜索postgre就可以找到postgres数据库的下载页面。

  • 右上角线上下载该image的docker命令
  • 用户可以选择不同的数据库版本下载
  • 该image的启动脚本样例 (后续会介绍)
  • 环境变量定义(后续会介绍)
相关推荐
李洋-蛟龙腾飞公司19 分钟前
HarmonyOS NEXT应用元服务常见列表操作分组吸顶场景
linux·运维·windows
链上Sniper28 分钟前
智能合约状态快照技术:实现 EVM 状态的快速同步与回滚
java·大数据·linux·运维·web3·区块链·智能合约
ytttr8731 小时前
matlab通过Q学习算法解决房间路径规划问题
学习·算法·matlab
从零开始学习人工智能2 小时前
深入解析 OPC UA:工业自动化与物联网的关键技术
运维·物联网·自动化
寻丶幽风2 小时前
论文阅读笔记——NoPoSplat
论文阅读·笔记·三维重建·3dgs·相机位姿·dustr
从后端到QT2 小时前
SRS流媒体服务器(8)源码分析之rtc/rtmp互相转码详解
运维·服务器·实时音视频
CodeWithMe2 小时前
Nginx入门进阶:从零到高手的实战指南
运维·nginx
高山莫衣2 小时前
Docker Desktop导致存储空间不足时的解决方案
docker·容器·eureka
鹏大师运维2 小时前
在银河麒麟V10 SP1上手动安装与配置高版本Docker的完整指南
linux·运维·docker·容器·麒麟·统信uos·中科方德
lovely_nn2 小时前
docker 介绍
docker·k8s