Day06 - Docker 简介,Container是什麽 ?

什麽是 Container ?

在了解 Container 之前,先来聊聊服务是如何建立的。传统服务我们会选择在虚拟机上执行,安装过程相信各位都有遇过同样经验,根据所需软件,我们照着教学文档一步步的小心安装,因为每个人电脑环境都不尽相同,过程中难免会跳出错误讯息,也许缺少某些函式库,或是有些组态需要设定,上网查询各式解答花好一番功夫才得以顺利完成,这样的问题不只是个人会遇到,维运人员当然也会,而且维运人员还需在维持服务稳定的情况去更新、扩展、移植应用程序,遇到的问题更是五花八门。这时若透过将应用容器化的方式,对这些问题就能有一个好遵循的解决方式。

所谓的 Container 其实是一种虚拟化技术,透过将应用程序及其依赖(如程序码、函式库、组态)打包成单一物件,接着利用容器平台(docker)就能在不同环境也能运行相同的应用程序。不仅提供一致的软件环境,也能轻松在任何地方执行及扩展应用程序,而这些特性就是 DevOps 所需的,将开发者与维运人员之间的沟通变得更为轻松。透过 Container 技术,开发者就能将复杂的安装步骤及程序码封装成物件,提供给维运人员部属,让软件交付的过程精简成较为简单的问题。

  • 如何将应用程序打包成一个档案(Image)
  • 如何利用 Container 将打包好的应用程序运行起来(容器平台)

Docker 介绍

了解完 Container 後,Docker 其实就是一个运型容器的平台,在不同作业系统上都能安装。透过一系列简单的指令,就能快速将容器搭建起来,并且提供如 Docker Hub 的 Public Registry ,让我们使用别人已建置好的 Image ,若想将应用程序给打包起来,也能撰写dockerfile的方式来达成。

结论

今天我们了解了 Container 技术,後两天会分别以容器操作跟 Image 建置为出发点,利用 Docker 来学习如何利用 Container 来运行服务以及如何自行打包应用程序。


<<:  Day 0x5 UVa10062 Tell me the frequencies!

>>:  从零开始学习3D游戏开发:程序基础 Part.3 回圈

Python 列印

我们终於进到写程序的部分了,前几天我们都在教学基本的使用,今天就让我来教大家吧!我们就先开到程序档的...

#30 下一步:TypeScript & Deno

我们在过去 29 篇说了很多 JavaScript 的东西,也用 Node.js 写了一些东西。 现...

JS 物件的参考特性 DAY59

JS 在将值赋予到变数上时 会有两个特性(Call by value(传值) 与 Call by r...

成员 20 人:

撰写中 在求发展的道路上,又过了一日...... 这时,成员 20 人。 ...

2021-Day26. Serverless(十 四):AWS - SSL / TLS 凭证

影片一录好,就把AWS帐号给关掉了,就不用像昨天一样後制到怀疑人生... ...