Day 7: Docker 介绍与安装

Docker 发展之路

过去什麽都没有的黑暗时代,所有的Application都是直接放在服务器上的,这造成好几个问题

  1. 扩充性差:因为版本不同需要不同的服务器环境
  2. 使用量差:公司为了因应尖峰流量,只好购买很好的设备,实际上平常流量只消耗性能5~10%
  3. 故障成本高: 一旦Application无法运行,很难及时顶替新的Application

Virtual Machine

VM的出现创造了更多的契机,将一台机器切割成多个虚拟机,不只分割了环境,也大大降低了公司的成本支出。然而VM切割的底层单位是OS,使用Hypervisor做共享硬体。不仅仅耗费资源,更无法做到快速启用一个Application。

Docker

Docker与VM相似,但是执行的最底单位不是OS,所有的Docker container都是共享同一个OS。有着更轻量化、更快速启动的特性,更重要的,可以很轻易的移植到不同机器上。Docker是一家来自旧金山的Docker公司创造的,标志性的图案就是鲸鱼在货柜,每个货柜都是container,负责运载Application到所有的机器上。

https://ithelp.ithome.com.tw/upload/images/20210909/20119044hH8FhNDCjF.png

Docker目前支援Windows、Linux,目前有很多Docker相关的UI介面如Docker Desktop(Windows)、Visual Studio。但是之後介绍的还是以下指令为主,毕竟UI会变,指令概念不动。

安装

Windows

过去Docker 不支援Window时需要先安装VM,并且还要设定共享资料夹,有些麻烦。现在就很简单了,进入https://www.docker.com/get-started 下载docker desktop。安装後,会出现以下画面,那就等於安装完成了,你也可以打开cmd,输入docker version没有报错代表安装成功。

选择安装WSL模式可以让windows模拟linux,许多操作会变得更简单,以下范例以WSL为主。

Linux

如果你是Ubuntu,进入https://docs.docker.com/engine/install/ubuntu/ ,照着指令:

  1. sudo apt-get update
  2. sudo apt-get install docker-ce docker-ce-cli containerd.io

就能成功了。成功後输入sudo docker run hello-world,出现以下画面代表成功。

https://ithelp.ithome.com.tw/upload/images/20210909/20119044b0fpYmnCya.png

明天开始来讲解docker的操作。


<<:  Trouble with Distributed Systems (2) - Unreliable Networks

>>:  Day 03: Python开发环境 Spyder初探

Day 10 - 将 DEALERS 後台储存资料提取後,送至前台渲染画面 - Literal 控制项应用 - ASP.NET Web Forms C#

=x= 🌵 DEALERS 前台页面後端功能制作。 DEALERS 页面资料介绍 : 📌 制作时如图...

【没钱买ps,PyQt自己写】Day 18 / Project 使用 QTimer,自制码表(计时器) PyQt5 stopwatch DIY

看完这篇文章你会得到的成果图 前言 这篇我们要来学一个新的东西 QTimer! QTimer 是独立...

第12天 - 用 PHP Session 与 Bootstrap 做警告(提示)

今天用来使用 Session 做警告(提示),它可以用来让使用者知道他的动作使否有成功(例如修改成功...

IOS、Python自学心得30天 Day-30 简单辨识范例

范例如下: 程序码: // // ViewController.swift // Dog Breed...

Day 14 Decorator Part - 2

今天要来介绍 Decorator Factory,它可以让 Decorator 有更多的可能性,撰写...