Docker入门
发布日期:2021-08-19 21:59:34 浏览次数:11 分类:技术文章

本文共 2533 字,大约阅读时间需要 8 分钟。

简介

Docker:高速创新的企业集装箱平台,在任何地方安全地构建,共享和运行任何应用程序

简单来说,完成操作系统(软件)的复制粘贴
Docker Hub:下载镜像

概念

Docker for Developers

使用容器可以更快地构建和部署新应用程序。Docker容器将软件及其依赖关系整合到一个标准化的软件开发单元中,包括运行所需的一切:代码,运行时,系统工具和库。这可以保证您的应用程序始终运行相同,并使协作变得像共享容器映像一样简单。

无论是Windows还是Linux都支持Docker工具和API,并帮助您构建更好的软件

Docker for IT Operations

Docker使开发人员能够在处理任何应用程序时使用容器 - 无论是新的微服务还是现有的应用程序。 容器将代码,配置和依赖关系打包成一个独立的包,可能使应用程序更安全和可移植。 但是,当您需要管理整个应用程序组合时,仅靠容器是不够的,因为它们不能直接满足组织的合规性,安全性和运营治理需求。

需要一个企业级容器平台,以提供大规模的集成软件生命周期和运营管理工作流程和安全性,同时保证企业支持和经过认证的技术生态系统。 Docker Enterprise容器平台提供自由选择,灵活的操作和集成的安全性,因此您可以放心地在生产中部署,管理和保护您的应用程序。

什么是容器

将软件打包成标准化单元,用于开发,装运和部署
容器是一个标准的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境快速可靠地运行到另一个计算环境。 Docker容器映像是一个轻量级,独立的可执行软件包,包含运行应用程序所需的一切:代码,运行时,系统工具,系统库和设置。
容器映像在运行时成为容器,在Docker容器的情况下 - 映像在Docker Engine上运行时成为容器。适用于基于Linux和Windows的应用程序,无论基础架构如何,容器化软件都将始终运行相同。容器将软件与其环境隔离开来,并确保它可以统一运行,尽管开发和分段之间存在差异。
在Docker Engine上运行的Docker容器:
标准:Docker创建了容器的行业标准,因此它们可以随处携带
轻量级:容器共享机器的操作系统内核,因此不需要每个应用程序的操作系统,从而提高服务器效率并降低服务器和许可成本
安全:应用程序在容器中更安全,Docker提供业界最强大的默认隔离功能
Docker容器无处不在:Linux,Windows,数据中心,云,无服务器等。
Docker容器技术于2013年作为开源Docker Engine推出。
它利用围绕容器的现有计算概念,特别是在Linux世界中,称为cgroups和名称空间的原语。 Docker的技术是独一无二的,因为它专注于开发人员和系统运营商将应用程序依赖性与基础架构分离的要求。
Linux世界的成功推动了与微软的合作,将Docker容器及其功能引入Windows Server(有时也称为Docker Windows容器)。
Docker及其开源项目Moby提供的技术已被所有主要数据中心供应商和云提供商所利用。其中许多提供商正在利用Docker来提供容器本地IaaS产品。此外,领先的开源无服务器框架利用Docker容器技术。

比较容器和虚拟机

1

容器和虚拟机具有类似的资源隔离和分配优势,但功能不同,因为容器虚拟化操作系统而不是硬件。容器更便携,更高效。
容器
容器是应用层的抽象,它将代码和依赖关系打包在一起。 多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为独立进程运行。 容器占用的空间比VM少(容器映像的大小通常为几十MB),可以处理更多的应用程序,并且需要更少的VM和操作系统。
虚拟机
虚拟机(VM)是物理硬件的抽象,将一台服务器转变为多台服务器。 管理程序允许多台VM在单台机器上运行。 每个VM都包含操作系统的完整副本,应用程序,必要的二进制文件和库 - 占用数十GB。 虚拟机也可能很慢启动。

容器和虚拟机在一起

2

在一起使用的容器和VM在部署和管理应用程序时提供了极大的灵活性

镜像、容器、仓库

镜像,是特殊的文件系统,他包含程序、配置、资源等

容器,镜像的实例。就像是类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等
仓库,用于保存镜像的服务
镜像和容器也可以类比软件安装包和软件

安装镜像

以MongoDB Image为例,在Docker Hub中搜索

2
一个容器需要pull,create,所以直接执行create命令也是可以的(会自动pull)

docker container create mongo:4.1.12

如果不太清楚使用,可以查看官方文档,或者使用help命令查看帮助

3
4
当然,这一步也可以直接通过Kitematic可视化操作

将镜像映射到本机

运行Docker Desktop,登录Docker上注册的账号

右键菜单栏中打开Kitematic
通过Kitematic完成映射(可以在powershell中通过命令行完成)
5
6
然后就可以像在本机一样访问镜像啦
7

连接

我们希望能在powershell中连接MongoDB并执行一些数据库操作

根据help,我们应该执行exec命令,并且指定command(bash:命令行)
8

docker container exec -it mongo bash

然后我们连接了MongoDB,从这里开始,需要输入MongoDB的命令

9
所以我们需要查看MongoDB的官方文档,完成自己的目标
10

其他

Docker报错处理

driver failed programming external connectivity on endpoint

容器映射到本机的端口被占用,或者docker服务启动时定义的自定义链DOCKER由于某种原因被清掉

被占用就处理占用端口的程序,被清掉就重启Docker及容器
参考资料:

转载于:https://www.cnblogs.com/Lulus/p/10957091.html

转载地址:https://blog.csdn.net/weixin_30955341/article/details/98344671 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:内存断点
下一篇:matlab处理矩阵

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年01月02日 12时23分45秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

MWC 2016盘点:无线产业尚未解决的五大问题 2019-06-23
NSA攻击工具泄露后:漏洞公平裁决程序是否应编入法律? 2019-06-23
2015~2019全球运营商SDN市场CAGR高达98% 2019-06-23
卡巴斯基实验室发现Silverlight零日漏洞 2019-06-23
美光科技:非挥发性存储器及快闪存储器才是归宿 2019-06-23
揭秘红包场景下的高性能本地存储架构设计 2019-06-23
《Photoshop混合模式深度剖析》—第1章混合模式的工作原理 2019-06-23
《VMware vSphere设计(原书第2版)》——1.2 vSphere设计的不同层面 2019-06-23
《请君入瓮——APT攻防指南之兵不厌诈》—第1章1.4节APT和PT案例 2019-06-23
《Docker技术入门与实战》——3.6 存出和载入镜像 2019-06-23
Unix下zfs文件系统重组RAID-5数据恢复案例 2019-06-23
《NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)》一2.5 端口通道... 2019-06-23
让程序员最挠头的9大任务,你认同几项? 2019-06-23
《C语言编程魔法书:基于C11标准》——1.4 关于GNU规范的语法扩展 2019-06-23
机器学习入门阶段程序员易犯的5个错误 2019-06-23
《Adobe After Effects CC经典教程》——2.9 渲染合成图像 2019-06-23
《ANTLR 4权威指南》——3.3节将生成的语法分析器与Java程序集成 2019-06-23
java中文乱码解决之道(八)—–解决URL中文乱码问题 2019-06-23
《Oracle PL/SQL程序设计(第5版)》一一1.2 PL/SQL的起源 2019-06-23
《数据科学:R语言实战》一1.3 关联规则 2019-06-23