admin管理员组

文章数量:1530842

Docker:Docker的简介、安装、使用方法之详细攻略

目录

相关文章

Docker:Docker的简介、安装、使用方法之详细攻略

Ubuntu之Docker:Docker Hub的简介、安装、使用方法之详细攻略

Docker的简介

1、多角度对Docker的理解

(1)、知乎对Docker的理解—Docker就是集装箱

(2)、简书对Docker的理解—Docker带来标准化

2、一个完整的Docker有以下几个部分组成

3、Windows 下面运行 Docker 的两个主要工具

Docker的安装

1、基于Ubuntu的安装

T1、使用官方安装脚本自动安装

T2、手动安装—先卸载旧版本

2、基于Windows安装

A1、Windows10家庭版无法安装docker,需要下载docker toolbox安装,

A2、Windows10家庭版修改配置,直接安装docker

A3、Windows11系统安装

T1、从命令行安装

T2、交互式安装

3、基于python语言安装

4、安装Docker Compose

A3、Windows11系统安装

Docker的使用方法

1、基础用法

(1)、用户的应用程序迁往Docker容器的五步骤

2、进阶用法

Ubuntu之Docker:基于Ubuntu系统利用Docker部署一个Python脚本来实现函数功能的部署案例图文教程之详细攻略


相关文章

Docker:Docker的简介、安装、使用方法之详细攻略

Docker:Docker的简介、安装、使用方法之详细攻略_docker 知乎-CSDN博客

Ubuntu之Docker:Docker Hub的简介、安装、使用方法之详细攻略

https://yunyaniu.blog.csdn/article/details/100701754

Docker的简介

         Docker 是一个开源应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中然后发布任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

官网:https://hub.docker/

教程文档:https://www.runoob/docker/docker-tutorial.html

1、多角度对Docker的理解

(1)、知乎对Docker的理解—Docker就是集装箱

       Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
       docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱

  • 1、docker可以实现虚拟机隔离应用环境:不同的应用程序可能会有不同的应用环境,比如开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。
  • 2、docker可以把开发环境直接封装转移给运维:你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。
  • 3、docker部署高效利用内存:在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。

         总之docker就是集装箱原理。

转自:如何通俗解释Docker是什么? - 知乎
如有转载,请贴上链接,尊重原创

(2)、简书对Docker的理解—Docker带来标准化

        Docker 公司的口号:“Build,Ship,and Run Any App,Anywhere ”,通俗的讲就是 “快来用Docker吧,Docke就像集装箱一样,用了Docker你的业务就可以随意的、无拘无束的运行在任何地方”。那集装箱解决了什么问题?
        在集装箱之前,货物运输没有统一的标准方式进行搬运,于是铁路、公路、海洋等各种运输之间,需要大量的人力作为货物中转,效率极低,而且成本很高集装箱出现之后,世界上绝大多数的货物运输都可以放到这个神奇的箱子里,然后在公路、铁路、海洋等所有运输场景下,这个箱子都可以不用变化形态直接可以承运,而且中间的中转工作,都可以通过大型机械搞定,效率大大提升。<经济学家>杂志说:"没有集装箱,就没有全球化。"
        经济全球化的基础就是现代运输体系,而一个高度自动化、低成本和低复杂性的货物运输系统的核心就是集装箱。在1956年集装箱出现之前,人们很难想象美国的沃尔玛能够遍地开花。而在集装箱出现之后,以至于某件东半球的产品运至纽约销售,远比在纽约近郊生产该产品更划算。毫不起眼的集装箱降低了货物运输的成本,实现了货物运输的标准化,以此为基础逐步建立全球范围内的船舶、港口、航线、公路、中转站、桥梁、隧道、多式联运相配套的物流系统,世界经济形态因此而改变。从此全球化开始,商业的潜力被进一步挖掘......牛逼之处我就不多说了,可是这个箱子为什么这么神奇呢?答案其实也就在上面的描述中,无非就是两个字:标准。在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走

        如果你正好是一个运维工程师而且你正感觉你的运维环境一团糟,麻烦请你思考一下这是为什么?

  • 语言不:你是不是正在运维着一个使用 php、java、C#甚至 C/C++等用各种语言编写的应用都在运行的环境里?
  • 环境不同:这个环境是不是因为某种历史原因,使你的操作系统运行着各个版本的内核甚至还有 windows?
  • 版本不同:即使是同样语言编写的业务也运行着不同版本的库?
  • 各种不同:你的整个系统环境是不是甚至找不出来两台硬件、操作系统、库版本以及语言版本完全一样的环境?

        于是你每次遇到问题都要去排查,到底那个坑到底在那里
        从网络、内核到应用逻辑。你每次遇到产品升级都要在各种环境上做稳定性测试,发现不同的环境代码 crash 的原因都不尽相同。你就像一个老中医一样去经历各种疑难杂症,如果遇到问题能找到原因甚至都是幸运的,绝大多数情况是解决了但不知道原因没解决自动好了也不知道原因。于是你们在一个特定的公司的环境中积累着“经验”,成为你们组新手眼中的大神,凭借历经故障养成的条件反射在快速解决不断发生的重复问题,并故弄玄虚的说:这就是工作经验。因为经验经常是搞不清楚原因时的最后一个遮羞布。当别人抱怨你们部门效率低的时候,你一般的反应是:”you can you up,no can no 逼逼!
        那么我们再来看看 docker 是怎么做的?现在都流行云计算了,云计算就好比大货轮。docker就是集装箱

转自:https://www.jianshu/p/6891b1eadde8 
如有转载,请贴上链接,尊重原创

2、一个完整的Docker有以下几个部分组成

  • DockerClient客户端
  • Docker Daemon守护进程
  • Docker Image镜像
  • DockerContainer容器

3、Windows 下面运行 Docker 的两个主要工具

  • Docker for Windows:新一代的 Windows下的运行平台。
  • DockerToolbox:上一代的运行平台,安装参考​​​​​Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略

Docker的安装

1、基于Ubuntu的安装

相关文章:https://www.runoob/docker/ubuntu-docker-install.html

Docker Engine-Community 支持以下的 Ubuntu 版本:

  • Xenial 16.04 (LTS)
  • Bionic 18.04 (LTS)
  • Cosmic 18.10
  • Disco 19.04
  • 其他更新的版本……

T1、使用官方安装脚本自动安装

curl -fsSL https://get.docker | bash -s docker --mirror Aliyun
或者 国内 daocloud 一键安装命令
curl -sSL https://get.daocloud.io/docker | sh   

T2、手动安装—先卸载旧版本

Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:

$ sudo apt-get remove docker docker-engine docker.io containerd runc

安装 Docker Engine-Community的两种方式

T1、使用 Docker 仓库进行安装
$ sudo apt-get update     //更新 apt 包索引

$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io


T2、使用 Shell 脚本进行安装
$ curl -fsSL https://get.docker -o get-docker.sh
$ sudo sh get-docker.sh

2、基于Windows安装

参考文章:https://blog.csdn/tidu2chengfo/article/details/84892915

简介

Docker 在 Windows 上可以运行两种容器:Linux 容器和 Windows 容器。

>> Linux 容器通过 Hyper-V 虚拟机实现,可以运行 Linux 应用程序;Hyper-V 是微软的虚拟化产品,允许在 Windows 上运行多个操作系统。

>> 而 Windows 容器则能运行原生 Windows 应用程序。

安装 Docker 时,Win10 专业版系统可以直接使用 Docker 的安装包,但需要开启 Hyper-V,不过要注意 Hyper-V 不支持 Windows 10 家庭版,尽管可以通过修改配置来尝试启用。

注意事项

如果您的管理员帐户与您的用户帐户不同,则必须将该用户添加到docker-users组:

以管理员身份运行计算机管理。

导航到本地用户和组>组> docker-users。

右键单击将用户添加到组中。

注销并重新登录以使更改生效。

A1、Windows10家庭版无法安装docker,需要下载docker toolbox安装,

参考文章
Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略

A2、Windows10家庭版修改配置,直接安装docker

A3、Windows11系统安装

T1、从命令行安装
下载后Docker Desktop Installer.exe,在终端中运行以下命令来安装 Docker Desktop:
 "Docker Desktop Installer.exe" install
如果您使用 PowerShell,则应将其运行为:
Start-Process 'Docker Desktop Installer.exe' -Wait install
如果使用 Windows 命令提示符:
start /w "" "Docker Desktop Installer.exe" install
默认情况下,Docker Desktop 安装在C:\Program Files\Docker\Docker.
该install命令接受以下标志:
--quiet:运行安装程序时禁止信息输出
--accept-license:现在接受 Docker 订阅服务协议,而不是要求在应用程序首次运行时接受它
--no-windows-containers:禁用 Windows 容器集成
--allowed-org=<org name>:运行应用程序时要求用户登录并成为指定 Docker Hub 组织的一部分
--backend=<backend name>:选择用于 Docker Desktop 的默认后端,hyper-v或windows(wsl-2默认)
--installation-dir=<path>:更改默认安装位置 ( C:\Program Files\Docker\Docker)
--admin-settings:自动创建一个admin-settings.json文件,管理员使用该文件来控制组织内客户端计算机上的某些 Docker Desktop 设置。有关详细信息,请参阅设置管理。
它必须与标志一起使用--allowed-org=<org name>。
例如:
--allowed-org=<org name> --admin-settings='{"configurationFileVersion": 2, "enhancedContainerIsolation": {"value": true, "locked": false}}'
--proxy-http-mode=<mode>:设置 HTTP 代理模式,system(默认)或manual
--override-proxy-http=<URL>:设置传出HTTP请求必须使用的HTTP代理的URL,要求--proxy-http-mode是manual
--override-proxy-https=<URL>:设置用于传出 HTTPS 请求的 HTTP 代理的 URL,需要--proxy-http-mode是manual
--override-proxy-exclude=<hosts/domains>:绕过主机和域的代理设置。使用逗号分隔的列表。
--hyper-v-default-data-root=<path>:指定 Hyper-V VM 磁盘的默认位置。
--windows-containers-default-data-root=<path>:指定 Windows 容器的默认位置。
--wsl-default-data-root=<path>:指定 WSL 分发磁盘的默认位置。
--always-run-service:允许用户切换到 Windows 容器,而无需管理员权限。

T2、交互式安装

第1步,使用页面顶部的下载按钮或从 发行说明下载安装程序。
​​​​​​​地址:Install Docker Desktop on Windows | Docker Docs

第2步,双击Docker Desktop Installer.exe运行安装程序。默认情况下,Docker Desktop 安装在C:\Program Files\Docker\Docker.出现提示时,请确保选择或不选择“配置”页面上的“使用 WSL 2 而不是 Hyper-V”选项,具体取决于您选择的后端。如果您的系统仅支持这两个选项之一,您将无法选择使用哪个后端。按照安装向导上的说明授权安装程序并继续安装。

第3步,安装成功后,选择关闭以完成安装过程。

第4步,搜索 Docker,然后在搜索结果中选择Docker Desktop 。

​​​​​​​

3、基于python语言安装

pip install docker

4、安装Docker Compose

地址:Install Compose standalone | Docker Docs

A3、Windows11系统安装

安装流程

如果您直接在 Microsoft Windows Server 上运行 Docker 守护程序和客户端并想要安装 Docker Compose,请按照以下说明进行操作。

管理员身份运行 PowerShell。当询问您是否允许此应用程序对您的设备进行更改时,请选择“是”以继续安装。

GitHub 现在需要 TLS1.2。在 PowerShell 中,运行以下命令:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

运行以下命令下载最新版本的 Compose (v2.27.0):

Start-BitsTransfer -Source "https://github/docker/compose/releases/download/v2.27.0/docker-compose-windows-x86_64.exe" -Destination $Env:ProgramFiles\Docker\docker-compose.exe

测试安装

测试安装

docker-compose.exe version

Docker Compose version v2.27.0

Docker的使用方法

1、基础用法

(1)、用户的应用程序迁往Docker容器的五步骤

       随着Docker在云计算市场中领先地位的日益稳固,容器技术也成为了一种主流技术。为了对用户的应用程序使用容器技术,可遵循以下五个步骤。

       Docker容器技术已在云计算市场中风靡一时了,而众多主流供应商则面临着技术落后的窘境。那么,是什么让Docker容器技术变得如此受欢迎呢?对于刚入门的新手来说,容器技术可实现不同云计算之间应用程序的可移植性,以及提供了一个把应用程序拆分为分布式组件的方法。此外,用户还可以管理和扩展这些容器成为集群。

       在企业用户准备把应用程序迁往容器之前,理解应用程序的迁移过程是非常重要的。这里将介绍把用户应用程序迁往Docker容器的五个基本步骤。

步骤1:分解。一般来说,应用程序都是复杂的,它们都有很多的组件。例如,大多数应用程序都需要数据库或中间件服务的支持以实现对数据的存储、检索和集成。所以,需要通过设计和部署把这些服务拆分成为它们自己的容器。如果一个应用程序能够被拆分成为越多的分布式组件,那么应用程序扩展的选择则越多。但是,分布式组件越多也意味着管理的复杂性越高。

步骤2:选择基础映像。当执行应用程序迁移时,应尽量避免推倒重来的做法。搜索Docker注册库找到一个基本的Docker映像并将其作为应用程序的基础来使用。
       随着时间的推移,企业将会发现这些Docker注册库中基本映像的价值所在。请记住,Docker支持着一个Docker开发人员社区,所以项目的成功与否很大程度上取决于用户对于映像管理和改良的参与度。

步骤3:安全管理问题。安全性和管理应当是一个高优先级的考虑因素;企业用户不应再把它们当作应用程序迁移至容器的最后一步。反之,企业必须从一开始就做好安全性和管理的规划,把它们的功能纳入应用程序的开发过程中,并在应用程序运行过程中积极主动地关注这些方面。这就是企业应当花大功夫的地方。
       基于容器的应用程序是分布式应用程序。企业应当更新较老的应用程序以支持联合身份管理方法,这将非常有利于确保分布式应用程序的安全性。为了做到这一点,应为每一个应用程序组件和数据提供一个的标识符,这个标识符可允许企业在一个细粒度的级别上进行安全性管理。企业用户还应当增加一个日志记录的方法。

步骤4:增加代码。为了创建镜像,企业用户需要使用一个Dockerfile来定义映像开发的必要步骤。一旦创建了映像,企业用户就应将其添加至Docker Hub。

步骤5:配置测试部署。应对在容器中运行的应用程序进行配置,以便于让应用程序知道可以在哪里连接外部资源或者应用程序集群中的其他容器。企业用户可以把这些配置部署在容器中或使用环境变量。
       对基于容器的应用程序进行测试类似于对其他分布式应用程序的测试。企业可以对每个容器进行组件测试,并将容器集群作为一个整体进行测试。 确定应用程序应如何能够在负载增加的情况下进行扩展。如果用户正在使用一个集群管理器(例如Swarm),则可测试其性能。
       最后,把容器部署到实际生产环境中。为了积极主动地关注基于容器的应用程序的运行状况,可考虑实施必要的监控和管理机制 。确保打开日志记录功能。
       很多应用程序迁移至云计算都是采用容器技术的。虽然迁移有一点复杂,但是容器可以保护应用程序投资并赋予了它一个更长的使用寿命。

2、进阶用法

Ubuntu之Docker:基于Ubuntu系统利用Docker部署一个Python脚本来实现函数功能的部署案例图文教程之详细攻略

https://yunyaniu.blog.csdn/article/details/131149158

参考文章
https://baike.baidu/item/Docker/13344470?fr=aladdin#2

本文标签: 使用方法攻略简介详细Docker