docker 1:入门,第 1 部分:导引和设置

入门,第 1 部分:导引和设置

预计阅读时间: 1 分钟

欢迎!很高兴您希望了解如何使用 Docker。

本教程包含六个部分,您将在其中:

  1. 在此页面上了解基本设置与入门。
  2. 构建并运行您的第一个应用
  3. 将您的应用变为扩展服务
  4. 在多台机器之间扩展您的服务
  5. 添加持久保存数据的访客计数器
  6. 将您的 swarm 部署到生产中

应用自身非常简单,以确保您不会因代码的操作而分心。但是,Docker 的价值在于如何构建、交付和运行应用;您的应用的实际操作完全不可知。

先决条件

虽然我们将在教程中定义概念,但您最好在开始之前了解 Docker 是什么以及为何使用 Docker

另外,在继续之前,我们还需要假定您熟悉一些概念:

  • IP 地址和端口
  • 虚拟机
  • 编辑配置文件
  • 基本熟悉代码依赖项和构建的概念
  • 机器资源使用情况属于,例如 CPU 百分比、RAM 使用量(字节)等。

对容器的简要说明

镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

容器是镜像的运行时实例 - 实际执行时镜像会在内存中变成什么。默认情况下,它完全独立于主机环境运行,仅在配置为访问主机文件和端口的情况下才执行此操作。

容器在主机内核上以本机方式运行应用。与仅通过管理程序对主机资源进行虚拟访问的虚拟机相比,它们具有更好的性能特征。容器可以获取本机访问,每个容器都在独立进程中运行,占用的内存不超过任何其他可执行文件。

容器与虚拟机

在比较虚拟机和容器时,请考虑此图:

虚拟机图

虚拟机技术栈示例

虚拟机运行来宾操作系统 - 请注意每个框中的操作系统层。此项为资源密集型,并且生成的磁盘镜像和应用状态与操作系统设置、系统安装的依赖项、操作系统安全补丁以及其他容易丢失且难以复制的临时配置相关联。

容器图

容器技术栈示例

容器可以共享单个内核,并且需要存在于容器镜像中的唯一信息是可执行文件及其软件包依赖项,这些都不需要在主机系统上安装。这些进程的运行方式类似于原生进程,并且您可以通过运行 docker ps 等命令来逐一管理它们 - 如同您在 Linux 上运行 ps 以查看活动进程一样。最后,由于它们包含所有依赖项,因此不存在配置关联;容器化应用“可以随处运行”。

设置

在开始之前,请确保您的系统安装了最新版本的 Docker。

安装 Docker

:需要版本 1.13 或更高版本

您将能够运行 docker run hello-world 并看到类似于以下内容的响应:

$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
...(snipped)...

现在,应确保您使用的是版本 1.13 或更高版本。运行 docker --version 进行确认。

$ docker --version
Docker version 17.05.0-ce-rc1, build 2878a85

如果您看到类似于以上内容的消息,表示已做好准备工作。

总结

将可扩展单位做成单个可移植的可执行文件,具有广泛的意义。它表示,CI/CD 可以将更新推送到分布式应用程序的任何部分,您无需担心系统依赖项,并且资源密度将增加。编排扩展动作将启动新的可执行文件而不是新的虚拟主机。

我们将了解所有这些内容,但首先需要从基础内容开始。

posted @   愤怒的企鹅  阅读(136)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示