【Docker入門】Dockerって何?何が便利で流行っているのか?技術ライターが仕組みを解説!

SEプラス IT教育チャンネル【公式】
8 Aug 202316:07

Summary

TLDR这段视频脚本详细介绍了Docker的工作原理和优势。Docker通过创建隔离的容器环境运行程序,确保互不影响,并且可轻松复制到不同环境。容器基于镜像创建,镜像包含所需文件,可在Docker Hub下载预制镜像。Docker可在Linux系统运行,也可通过Docker Desktop在Windows和Mac上模拟Linux环境。Docker大大简化了软件分发和部署流程,因此被广泛应用于开发、测试、教学和持续集成等场景。

Takeaways

  • 🐳 Docker 是一种隔离程序运行环境的技术,能够避免不同程序之间的相互影响。
  • 📦 Docker 通过 Images(映像文件)的方式将程序及其所需环境打包,使得在不同环境下都能运行相同的程序。
  • 🚀 使用 Docker 可以快速启动服务,如 Apache、Nginx、MySQL 等常见服务。
  • 🔐 容器内的程序与外部环境是隔离的,需要明确配置才能访问外部资源。
  • 💻 Docker Desktop 允许在 Windows 和 macOS 上运行 Docker 容器,为这些系统提供了 Linux 环境。
  • 🆓 Docker 容器的创建和销毁都很简单,方便临时测试环境的构建。
  • 🏭 Docker 常用于软件开发、测试、部署等场景,有助于统一环境、减少问题。
  • 🎓 Docker 也可用于编程教学,为学生提供统一的学习环境。
  • 🔄 使用 Docker 可以实现持续集成和持续交付(CI/CD),方便自动化测试和部署。
  • 🌐 Docker Hub 提供了大量预先打包的镜像文件,用户可以直接使用和定制。

Q & A

  • Docker到底是什么?

    -Docker是一种可以隔离并运行程序的环境,它使用Linux技术,允许在单个Linux实例中运行多个隔离的容器。

  • 为什么需要隔离程序的运行环境?

    -隔离程序运行环境的主要原因是避免相互影响。如果多个程序共享同一个环境,一个程序的更新可能会影响另一个程序的运行。隔离可确保每个程序拥有自己独立安全的运行空间。

  • Docker容器和虚拟机有什么不同?

    -Docker容器使用的是操作系统级虚拟化,而不是硬件级虚拟化,所以比虚拟机更加轻量级、启动快速。Docker容器之间彼此隔离,但共享同一个操作系统内核。

  • Docker中的"镜像"是什么?

    -Docker镜像是一个只读模板,用于创建Docker容器实例。镜像包含了容器运行所需的代码、库、环境变量和配置文件等内容。从一个镜像可以创建多个相同配置的容器实例。

  • Docker有哪些主要优势和应用场景?

    -Docker的优势包括:隔离安全、环境一致、节省资源、快速部署等。常见应用场景有:开发测试、CI/CD、服务部署、学习培训等。

  • 在Docker中如何确保容器的网络隔离?

    -Docker为每个容器分配了独立的网络接口和IP地址,彼此隔离。如果需要容器之间互联或对外暴露端口,需要显式配置端口映射。

  • 使用Docker部署应用时有哪些需要注意的问题?

    -使用Docker部署应用时需要注意:确保在Dockerfile正确配置了所有依赖;考虑数据持久化问题;设置资源限制(内存、CPU等);配置日志收集方案等。

  • Docker Desktop是什么?有什么用途?

    -Docker Desktop是Docker官方推出的一款工具,允许在Windows和Mac系统上运行Docker。通过模拟Linux环境,开发者可以在非Linux系统上进行基于Docker的开发工作。

  • 关于"Docker Hub"你能解释一下吗?

    -Docker Hub是Docker公司提供的公共镜像仓库,任何人都可以在上面分享和下载Docker镜像。Hub上有大量官方和社区贡献的镜像模板,开发者可以直接使用。

  • Docker在持续集成/持续交付(CI/CD)中有何作用?

    -Docker在CI/CD中的作用很大。开发者可以基于统一的Docker镜像环境进行代码编译和测试,然后生成新的镜像部署到生产环境,确保环境一致性。Docker化的应用也更利于自动化部署。

Outlines

00:00

🐳 Docker 概览与优点介绍

这一段首先介绍了 Docker 是一种隔离程序执行环境的工具,基于 Linux 容器技术。Docker 允许将程序及其所需的库文件等打包成一个镜像,在不同环境中可以直接运行该镜像。这种隔离执行的方式避免了程序之间的相互影响和版本冲突问题。Docker 容器拥有独立的网络和磁盘,可以方便地创建、启动、停止和删除。

05:00

🚢 Docker 的工作原理与容器

这部分详细解释了 Docker 的工作原理。每个 Docker 容器都是一个独立的 Linux 环境,拥有自己的网络地址和文件系统。容器之间相互隔离,无法直接访问对方的网络和文件。要实现容器间通信,需要在启动时进行明确的配置。Docker 镜像包含了容器所需的全部文件,可以基于镜像在任意环境中快速创建新的容器,大大简化了软件分发和部署流程。

10:03

🌐 Docker Hub 与简化部署

这里介绍了 Docker Hub 这个官方镜像仓库,用户可以在其中找到现成的镜像并一键启动。通过下载现有镜像,用户无需再自己配置环境,可以立即运行所需的服务。这极大地简化了软件部署流程,使得任何人即使不了解配置细节,也能快速启动服务器应用。此外还提及了使用 Docker Desktop 在 Windows 和 Mac 上运行 Linux 容器的方式。

15:05

✨ Docker 的应用场景与优点总结

最后这部分总结了使用 Docker 的典型场景和优点。开发环境中,Docker 可以打包开发的应用程序,在不同环境中保持一致的运行;为团队成员提供统一的开发环境;为编程教学提供现成的环境等。在持续集成与持续交付中,Docker 可以重复运行干净的测试环境,并快速将经过测试的镜像部署到生产环境。Docker 最大的优点在于实现了应用程序的一次打包,到处运行的可移植性,并能在隔离环境中运行,互不影响。

Mindmap

Keywords

💡Docker

Docker是一种容器技术,可以隔离并打包应用程序及其所需的所有依赖,使它们可以在任何环境中一致地运行。视频中解释了Docker的基本概念,如容器、映像,以及如何使用它来简化应用程序的部署和管理。Docker是视频的主旨,被反复提及和解释。

💡容器

容器是Docker创建的隔离执行环境。每个容器都有自己的文件系统、网络接口和进程空间,彼此之间互不影响。视频解释了容器如何与传统的虚拟机不同,以及容器带来的好处,如可移植性和高效性。容器是Docker最核心的概念。

💡映像

映像是创建容器实例所需的只读模板。它包含了运行应用程序所需的代码、运行时环境、库和配置文件等。映像可在Docker Hub等在线仓库中共享和下载。视频着重解释了使用现有映像的便利性,以及如何创建自定义映像。

💡隔离

隔离是Docker的一个关键特性。它确保每个容器都是独立和安全的,彼此之间不会相互影响。视频解释了隔离如何帮助解决传统环境中的依赖性和兼容性问题,并简化了应用程序的部署和管理。

💡可移植性

Docker提供了很高的可移植性,因为容器包含了应用程序运行所需的一切。一旦创建了映像,就可以在任何支持Docker的环境中运行容器,无需担心底层操作系统的差异。视频强调了可移植性对于开发、测试和生产环境的价值。

💡Docker Hub

Docker Hub是Docker公司提供的官方映像托管服务,用于共享和发现Docker映像。视频提到,许多常用软件的官方映像都托管在Docker Hub上,开发人员可以直接下载并运行。这大大简化了应用程序的部署流程。

💡Docker Desktop

Docker Desktop是允许在Windows和MacOS上运行Docker的工具。它在主机操作系统上模拟了一个轻量级的Linux虚拟机,以便在非Linux系统上运行容器。视频强调,借助Docker Desktop,开发人员即使使用Windows或MacOS,也可以轻松访问Linux环境。

💡持续集成(CI)/持续部署(CD)

CI/CD是指通过自动化构建、测试和部署代码的过程,以更高的频率交付新功能。视频解释了Docker在CI/CD流程中的应用,因为它可以为每个构建创建一个全新的容器,确保环境的一致性并简化测试过程。Docker被广泛应用于CI/CD管道。

💡环境一致性

通过将应用程序及其依赖封装到一个映像中,Docker确保了所有环境的一致性,无论是开发、测试还是生产环境。视频强调,这种一致性可以消除"在我的机器上工作正常"的问题,并简化了应用程序在不同环境之间的部署。

💡开发实践

视频阐述了Docker在各种开发实践中的应用,如开发人员工作站、团队协作、编程学习等场景。Docker提供了一致的软件开发环境,避免了传统环境中的配置问题,使开发人员能够专注于编写代码,而不必担心环境差异。

Highlights

Docker是一个隔离程序运行环境的工具,使用Linux容器技术实现程序的隔离。

Docker通过将程序及其依赖打包到镜像中,实现了程序的一次打包,到处运行的能力。

Docker Hub是一个存放预先构建好的Docker镜像的中心仓库,用户可以很方便地获取和使用这些镜像。

使用Docker可以轻松在开发环境、测试环境和生产环境中部署相同的应用程序。

Docker容器之间是完全隔离的,包括网络和磁盘,从而避免了相互影响的问题。

每个Docker容器都有自己的IP地址,因此容器之间可以像独立机器一样通信。

Docker容器创建和销毁都很简单,方便重复实验和重置环境。

在Windows和macOS系统上可以使用Docker Desktop来运行Docker容器。

Docker在开发、测试、学习编程和持续集成等场景下被广泛使用。

在开发团队中,可以由团队负责人构建开发环境镜像,然后分发给团队成员使用。

在编程学习中,可以使用预先打包好的Docker镜像作为学习环境,避免环境配置问题。

在持续集成场景中,Docker可以提供一致的隔离测试环境,方便重复测试。

Docker的优势包括环境隔离、一次构建到处运行、简化部署流程等。

Docker在部署应用程序时,可以直接将测试过的镜像部署到生产环境中。

在开发交付过程中,Docker可以帮助简化程序部署和环境管理。

Transcripts

play00:00

皆さんこんにちはSE+

play00:03

IT教育チャンネルナビゲーターの寺井

play00:05

ですということで本日は大沢講師をお招き

play00:08

して

play00:09

プチ講義を行っていただきたいと思います

play00:11

それでは大澤さんよろしくお願いしますご

play00:15

紹介いただきました

play00:16

技術ライターの大澤です今日は

play00:18

Dockerって何何が便利なのという

play00:21

ことでドッカーが流行っている理由その

play00:24

ポイントについてお話ししていきます

play00:26

Dockerというのはどっかという会社

play00:29

が開発したプログラムを

play00:31

隔離して実行するための

play00:33

環境ですこうした仕組みや読解以外にも

play00:36

あってですねコンテナと呼ばれる技術が

play00:39

使われていますロッカーのロゴはこんな

play00:42

感じのクジラの上にコンテナが乗っかって

play00:44

いるようなものなんですけどもこういう

play00:46

絵柄であるのはこれが理由ですこの

play00:48

コンテナの中にはプログラム本体だけでは

play00:52

なくてですねライブラリとかプログラムの

play00:54

実行に必要なものも全部

play00:57

含めて1パッケージにできます

play00:59

ロッカーには

play01:01

Linuxの技術が使われていて

play01:03

Linux環境で動きます

play01:05

Linuxっていうのはサーバーでよく

play01:07

使われる

play01:08

OSですねといろいろ言ってますけれども

play01:11

いずれにしても特化というのはプログラム

play01:14

を実行するための

play01:16

Linuxの環境の一つです

play01:18

そこでどっかについてお話を始める前に

play01:23

Linuxでプログラムを実行するという

play01:25

ところについて見ていきたいと思います

play01:27

プログラム動かすにはそのプログラムを

play01:31

コンピューターにインストールしますこの

play01:34

インストールという作業はプログラムを

play01:36

コピーするだけではなくてそれに付随する

play01:39

いくつかのファイルをコピーします

play01:42

その

play01:43

代表的なものがライブラリです

play01:45

ライブラリというのはいくつかの機能を

play01:49

提供するもので例えば画像やPDF

play01:51

いろんな計算データベースなどいろんな

play01:54

機能を提供するものがあります

play01:57

こうした機能を使ったプログラムは一緒に

play02:00

ライブラリをコピーしないと動かないと

play02:03

いう事情があります

play02:04

このライブラリなんですけれども

play02:06

コンピューター全体で共有して使います

play02:09

例えばこの図にありますように一つの

play02:13

コンピューターにプログラムAと

play02:15

プログラムBをインストールする場合同じ

play02:18

機能を使っている場合はライブラリは1つ

play02:21

だけでそれを共有するというような動きに

play02:24

なりますここでプログラムBを

play02:27

アップデートしたとしましょうそれに伴っ

play02:30

てプログラムBが使っているライブラリも

play02:33

アップデートされる可能性があります

play02:36

そうするとですねプログラムAもその

play02:39

アップデートしたライブラリを使うことに

play02:41

なりますその結果

play02:44

バージョンが違うのでプログラムAの方が

play02:46

ですね不具合を起こすというようなことが

play02:49

ありえるわけですねじゃあどうすればいい

play02:51

のという話になりますがここで最初にお

play02:55

話しした

play02:56

隔離の話になります

play02:58

そもそもプログラムAとプログラムBとで

play03:02

ライブラリとかそういうものを共有する

play03:05

から問題なのであって別々の場所に分ける

play03:08

実際にディスクを分けてしまえば問題が

play03:11

なくなりますよねここがロッカーの原点

play03:14

です

play03:16

ロッカーはこのようにプログラムを隔離し

play03:19

て実行することで

play03:20

互いに影響がないようにする仕組みです

play03:23

その仕組みとメリットについてもう少し

play03:25

深く見ていきますDockerはそれぞれ

play03:29

の実行環境を確立する仕組みです利用する

play03:33

にはドッカーエンジンというソフトを

play03:36

インストールしますそうするとその上で

play03:40

隔離した環境が使えるようになります

play03:43

隔離した環境というものがですねまあ冒頭

play03:45

でも少し触れたコンテナというものです

play03:48

それぞれのコンテナは

play03:50

ディスクが分かれていて

play03:52

互いに影響を受けないのはもちろんです

play03:54

けれども

play03:55

ネットワークも別々に分かれていますここ

play03:58

ではIPアドレスを

play04:00

172-1-2-3などと書いてますけど

play04:02

これは環境によって異なりますけれども

play04:04

いずれにしてもそれぞれ別のIPアドレス

play04:07

が割り当てられ

play04:09

ますこれがdカードのメリットの一つ目

play04:11

です

play04:12

それぞれが

play04:14

隔離されるので

play04:15

互いの影響がありませんあるプログラムが

play04:18

ファイルを書き換えてしまったために別の

play04:21

プログラムが動かなくなるそういった事態

play04:23

がなくなりますところで

play04:27

図を見ると1台のサーバーの中に

play04:29

複数のサーバーがあるというように見え

play04:31

ますそうするとですね

play04:34

過疎サーバーと何が違うのという話もなり

play04:36

かねませんただドッカーはですねあくまで

play04:40

play04:40

Linuxの自己環境を確立するだけです

play04:43

それぞれのコンテナの中には

play04:46

Linuxは含まれていませんそれから

play04:48

それぞれのコンテナの中では基本的に一つ

play04:52

のプログラムしか動きません

play04:55

たくさんのプログラムを動かしたいので

play04:57

あればそれぞれコンテナを分けて使うと

play05:00

いうやり方をします例えばWebサーバー

play05:04

とデータベースサーバーのソフトそれぞれ

play05:06

別のコンテナで動かすというのやり方です

play05:09

ねこれがdカード最大の特徴であり本当に

play05:14

実行環境を分けるそれだけですね

play05:17

仮想サーバと違ってそれぞれ

play05:19

エミュレーションしてるわけではないので

play05:21

とても高速ですただこの図からわかるよう

play05:25

に前提として

play05:27

Linuxを使っていますそのため

play05:29

Linuxの環境でしか動きません

play05:32

繰り返しになりますけれどもそれぞれの

play05:34

コンテナは

play05:35

完全に

play05:36

隔離されています

play05:37

コンテの中からコンテナの外にアクセス

play05:40

することはできませんこれは

play05:43

ネットワークもファイルも同様です例えば

play05:46

コンテナの中で何かプログラムを動かすと

play05:49

しますとそのプログラムに外から通信する

play05:52

ということはできませんなぜなら

play05:54

隔離されているからですね

play05:56

でこのようにですねもしプログラムに外

play06:00

から通信したいのであれば明示的な設定が

play06:03

必要ですどういうことかと言いますと

play06:06

具体的に外から通信できるように

play06:10

穴を開けるようにしてコンテナを動かすと

play06:13

いう形ですねファイルについても同様です

play06:16

コンテナの内側でしかそのファイルに

play06:20

アクセスできないのでもしコンテナの外に

play06:23

アクセスしたい時には

play06:24

穴を開けてどこかから外に向けてアクセス

play06:28

できるようにするという形です今回はどこ

play06:31

かの深い話をするのが目的でないので割愛

play06:34

しますけれども明示的に設定しない限りは

play06:37

ですねどこにもアクセスできないという

play06:40

ことをちょっときちんと理解するという

play06:43

ことが大事ですでそれでは当然使い物に

play06:46

ならないので実際には目的ごとにこうした

play06:49

通信とかリスクの設定とかをしなければ

play06:51

ならないというところがどっかを使う上で

play06:54

の大きなポイントになりますではではこの

play06:57

コンテナどうやって作るのかと言いますと

play06:59

実はですねこれは

play07:01

イメージと呼ばれるものから作ります

play07:04

イメージは一つのファイルででして構成さ

play07:07

れていってその中にはコンテナの中に

play07:10

含まれるファイルとかそれからコンテナを

play07:13

作った時に実行するプログラムの名前とか

play07:15

ですねそこに渡すデータとかそういった

play07:18

ものが意識含まれていますこれを

play07:21

ダウンロードして展開して実行するそう

play07:24

するとコンテナができるという仕組みです

play07:26

でここでメリット2つ目です

play07:29

イメージから作るということはこの

play07:32

イメージの中にプログラムの実行に必要な

play07:35

ファイルを全部まとめて含めておけばいい

play07:38

というわけですですのでもうコピーモデル

play07:41

とかそういうのがなくて本当に

play07:43

イメージの中に

play07:44

ワンパッケージとしてまとめるということ

play07:46

ができます

play07:48

イメージさえ一度作っておけばですねそれ

play07:50

をいろんなところで動かせます例えば1個

play07:54

イメージを作っておいてそれを開発者の

play07:56

コンピュータで動かすそれから開発

play07:59

サーバーで動かすそれから本番サーバーで

play08:02

動かすとかですねまあ一旦イメージを作っ

play08:04

ておけばそれをもとに様々な

play08:07

コンピューター上でいくつでも動かすこと

play08:09

ができます

play08:10

物価がない頃はですね本番サーバーに持っ

play08:14

ていくときはファイルのコピー漏れがない

play08:16

かとかそれから間違って上書きしていない

play08:19

かとかちょっと事前に注意するとか

play08:23

いろいろ配慮する必要があったわけです

play08:25

けれどもどっかを使えばですねそうした

play08:28

心配がなくまあ一発しかもどの環境でも

play08:31

全く同じ状態で動くこれはかなり楽ですよ

play08:35

ねそしてコンテナはいらなくなってばすぐ

play08:38

に消すことができます

play08:40

隔離されているので消しても他に影響が

play08:43

あるということはありませんつまり作っ

play08:46

たり消したりというのが自在ということ

play08:48

ですねこれはですねあのいろいろ試行錯誤

play08:52

しやすいですしよくわからなくなって

play08:54

しまったとかそういう場合はですね決して

play08:57

最初からやり直すというのも簡単ですただ

play09:00

当然ですけれどもコンテナを消せばその

play09:02

コンテの中に

play09:04

含まれているデータというのは当然全て

play09:06

消されますとか

play09:07

繋がります

play09:09

さてさてこのイメージですけれども自分で

play09:11

作るということも当然できます実際開発の

play09:14

現場では実際に作ると思うんですけども

play09:15

様々な人がですねすでに作ったイメージを

play09:20

登録している場所というのがありますその

play09:24

代表的なものがドッカーハブというサイト

play09:26

ですこれはドッカー車が提供しているもの

play09:29

でオフィシャルなものや個人が開発した

play09:32

ものあとはそれを改良したものとかです

play09:35

たくさんのイメージが置かれています

play09:37

例えばアパッチとかエンジンXとか

play09:40

MySQLなどよく使うソフトウェアの

play09:43

イメージはすでにここに登録されています

play09:45

どっかハブに登録されたイメージこちらは

play09:48

誰でも利用できます利用するのはとっても

play09:51

簡単です

play09:53

ここに示しているようにですねロッカー

play09:55

ランというコマンドを使うと

play09:57

イメージをダウンロードして実行できます

play09:59

つまりコンテナンスつまり本当に一つの

play10:02

コマンドを実行するだけでサーバーの

play10:05

ソフトが動いてしまうこれは第3の

play10:08

メリットだと言えます簡単ですしサーバー

play10:12

ソフトの設定方法など知らない人でも

play10:14

サーバーを簡単に構築できるこれが

play10:16

ロッカーの第3の電熱ですねこの図にある

play10:19

ようにドッカーンエンジンXと一つやる

play10:22

だけで自分のパソコンの中でエンジンXと

play10:25

いうWebサーバーですけれどもこちらが

play10:27

動くということですねさてこのドッカー

play10:31

ですけれども先ほどから繰り返している

play10:33

ようにLinuxで動かす実行環境という

play10:36

形になります

play10:38

ですからリラックスでしか動かないんです

play10:40

けれども実はどっかデスクトップという

play10:44

ソフトを使うとWindowsとか

play10:46

MacOSとかで動かすこともできます

play10:48

これはどういうことかというとですねd

play10:51

カードデスクトップに

play10:53

Linuxをシミュレーションするための

play10:54

ソフトが入っていってその中でどこかが

play10:57

動いというわけですねWindowsや

play11:00

MacでDockerが動くということは

play11:02

ですねWindowsMacでLinux

play11:04

の開発ができるということですロッカー

play11:07

ですストップをインストールすると

play11:09

Linuxの特化を使って開発できるよう

play11:11

になるですからそこでどっか

play11:14

イメージを作ってそれをLinuxが動い

play11:17

てるサーバー環境にコピーして使うという

play11:20

ことが

play11:21

できるこれも大きなロッカーのメリット

play11:23

ですね開発するというところではなくても

play11:26

WindowsとかMacで

play11:28

Linuxが使えるというのはとても

play11:30

大きなメリットになると思います実際は

play11:34

Linuxだけでしか使わない使えない

play11:36

ソフトというのも多いですね特に最近です

play11:38

と例えば機械学習系のものとかは

play11:41

Linuxを前提にしたものが

play11:42

案外多いですねそうしたものもどっかを

play11:45

使えばWindowsやMacで実行

play11:47

できるという形になり

play11:50

はいそれではまとめですDockerとは

play11:54

隔離された実行環境です

play11:55

Linuxで動きます

play11:57

隔離された

play11:58

環境のことをコンテナと呼びますそれぞれ

play12:01

のコンテナには

play12:02

固有のネットワークとリスクが割り当て

play12:05

られますコンテナの外にはアクセスする

play12:07

ためにはですね

play12:08

起動時の明示的な設定穴を開ける設定です

play12:10

ねそれが必要になりますそしてコンテナは

play12:14

イメージから作ります

play12:16

イメージはドッカーハブに登録されていて

play12:18

簡単に誰でも使って起動することができ

play12:21

ますそして

play12:22

削除とかやり直しも簡単ですDocker

play12:25

は基本的にはLinux用ですけれども

play12:27

ロッカーデスクトップを導入するところで

play12:30

WindowsとかMacでも使うことが

play12:33

でき

play12:34

こうした特徴を踏まえたドッカード

play12:36

メリットはまずは隔離しているので同居し

play12:39

ている他のシステムに影響を与えない壊さ

play12:41

ないというところがメリットとして

play12:43

挙げられますですからですね気軽に試し

play12:47

たり実行したり消したりそういう試すこと

play12:50

ができるというのがメリットですそして

play12:53

ドッカーはコンテのイメージから作るわけ

play12:56

ですけれども

play12:57

イメージさえ作ってしまえば開発者もPC

play12:59

とか開発サーバーそれから本番サーバー

play13:01

様々な場面で同じもの全く同じものを実行

play13:05

することができますファイルはすべて

play13:07

イメージにワンパッケージ化されるので

play13:09

コピーの漏れとかそういう心配もありませ

play13:12

んそしてボッカーデスクトップを使う場合

play13:15

はWindowsとかMacの中で

play13:18

コンテナが動くつまり

play13:20

Linuxの環境のソフトを

play13:21

WindowsMacで動かすことが

play13:24

これは本当にLinuxのコマンド

play13:27

ちょっと使いたいというそんな場面で重宝

play13:29

しますDockerが使える場面は様々

play13:32

ですけれども1パッケージ化とやり直せる

play13:36

という利点を活かしたいところです例えば

play13:38

こうした場面でよく使われています一つ目

play13:41

こちら開発のためですね開発したものを

play13:46

本番機などに納品するような場面では

play13:49

読解イメージとして1パッケージで使うと

play13:52

いうことが多いですそれ以外にもですね

play13:55

チームリーダーの人が開発者用のイメージ

play13:58

を作ってそれをチームメンバーに配布して

play14:01

そのコンテナで各自が同じようは同じ環境

play14:05

でですよね開発していくということもよく

play14:08

ありますそれから最近ではプログラミング

play14:10

学習の場面でもよく使われますどっかを

play14:14

使ってですねプログラミングの環境を作る

play14:16

ことを前提に

play14:18

作られている学習コンテンツというのも

play14:21

珍しくないですね今までは

play14:24

各自パソコンにプログラミング

play14:27

環境をインストールしてもらったわけです

play14:28

まあ例えばいろんな言語とかエディターと

play14:31

かそういうのインストールしてもらった

play14:32

わけですけれどもパソコンの構成によって

play14:35

はですねうまくいかなかったりとか

play14:37

そもそもインストールすることでパソコン

play14:39

の通常の他の業務に影響が出てしまったり

play14:42

とか何かが壊れてしまってですねという

play14:45

ことがあったわけですドッカーではですね

play14:47

そういうことがありませんしそれからまず

play14:49

何よりですね勉強が終わったらきれ

play14:52

さっぱりせるそういうのもメリットですね

play14:55

そして最後はCICDの環境ですねCI

play14:58

CDというのは継続的デリバリーとかそう

play15:02

いうことですけれども一言で言うと作った

play15:05

プログラムを自動でテストしてテストに

play15:08

問題がなければ本番期に反映させるそんな

play15:11

仕組みのことですこのテストの場面でどっ

play15:14

かがよく使われますどっかを使えばですね

play15:17

いつでもまっさらな状態からテストして

play15:19

始められるので何度でもテストしやすい

play15:22

テストする時に前の状態が残っ持ってい

play15:25

ないそういったことで都合がいいからです

play15:27

ねそして本番に反映するような場面でも

play15:29

テストした後どっかのイメージを作って

play15:32

それを本番機に反映させるだけで済むと

play15:35

いうことも大きなメリットですドッカーは

play15:37

このようにコンテナという

play15:40

隔離された実行環境を作ることでそれを

play15:43

そのまま別のところにコピーしたりとか

play15:45

全部消してやり直したりとかそうした

play15:48

ポータビリティを実現する技術です様々な

play15:52

場面で便利に使えると思いますぜひ皆さん

play15:55

使ってみてください

Rate This

5.0 / 5 (0 votes)

Related Tags
技术教程Docker容器隔离环境开发部署Linux系统编程学习CI/CD云计算代码一致性可移植性
Do you need a summary in English?