🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

3回答

576閲覧

DockerのOSについて

kyokio

総合スコア560

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/02/02 13:48

Dockerを今日から勉強し始めました。

Dockerはlinuxの仮想環境を作れてカーネルを共有するためVMより軽い。
ホストOSがlinuxではない場合はlinuxの仮想環境を作る必要がある。

こんな感じで解釈していました。

そしたらこの動画の07:59あたりで
「macの環境の人がwindowsの環境を作るとか..」って言っててDockerのOSはlinuxじゃないの?
って疑問が出てきました。

DockerのOSはlinuxとは限らないんですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

「DockerのOS」というのが動作環境のことならWindows/Linux/Macのどれでもあるし、コンテナの話ならLinuxでの利用事例がほとんどのケースを占めるだろうから他の回答が間違っているとまで言わないけど(いや間違ってるんだけど)、Windowsコンテナは正式にサポートされているので

DockerのOSはlinuxとは限らないんですか?

との問いに対しては「はい、限りません」が正解。

Windows コンテナーについて - Microsoft

投稿2021/02/02 14:53

編集2021/02/02 14:57
gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kyokio

2021/02/02 15:11

windowsコンテナはDockerを使うということではなく、windows上でwindowsコンテナを作れるということでしょうか?
gentaro

2021/02/02 15:12

聞く前にまずリンク先含めて関連の情報ググってちゃんと調べて。 すぐその質問の答えにたどり着くから。
kyokio

2021/02/02 16:05

windowsコンテナには2つあって。 1つ目はプロセス分離モードでこれはLinuxOSでLinuxOSのコンテナを作るのと同じでホストのwindowsのカーネルをシェアしてwindowsコンテナを作る。 2つ目はHyper-V分離モードでこれはHyper-Vを介してUtility VMというOSの上にコンテナを作る。MacOSでDockerを利用する際にLinuxの準仮想環境を作るのと同じ感じかな windowsコンテナはDockerを使うということではなく、windows上でwindowsコンテナを作れるということでしょうか? →Windows上でwindowsコンテナを作るのにDockerを使う じゃあMacでDockerのOS(コンテナのOS)をwindowsにすることはできるのか?(これが知りたかった) →できる。(https://blog.cloud.kompira.jp/entry/2018/11/12/103225) Docker for macだとwindowsコンテナは使えないからDocker machineの構築からすればできる macでwin/linuxのコンテナを使う場合、準仮想環境を作るからコンテナたくさん作らない場合はVMでもそんなに変わらない気がしますがこの解釈であってますか?
gentaro

2021/02/02 16:23

> macでwin/linuxのコンテナを使う場合、準仮想環境を作るからコンテナたくさん作らない場合はVMでもそんなに変わらない気がしますがこの解釈であってますか? そんなの「その人の使い方による」としか言えんよ。 dockerのメリットにdockerfileひとつで簡単に環境が複製できる事にあるけど、それはVMじゃ無理じゃん。仮想HDDのイメージを共有したい?
gentaro

2021/02/02 16:28

そもそもそれぞれの技術について、その長所を活かす利用方法を想定せずに「XXとXXの条件ならAとBは同じか?」なんて問に意味がない。 普通そんなメリットを潰す使い方しないから。 それぞれ利用シーンがあって、その用途に何が最適なのかを判断して利用するもの。
hentaiman

2021/02/02 19:34 編集

> macでwin/linuxのコンテナを使う場合、準仮想環境を作るからコンテナたくさん作らない場合はVMでもそんなに変わらない気がしますがこの解釈であってますか? 「そんなに」の内容次第ですけど、linux慣れしていない人にとってはそんなに変わらないと感じると思います。Dockerのデメリットが気になる使い方( デメリットが原因で使えない使い方)をしなければそんなに変わらないでしょう。 「たくさん作らない」が少数なのか一つなのか、また少数だとしても理由次第ですが、例えばVLAN(LAN)とかを考える必要が無いとか、前述のDockerである事が気になりそうな理由に該当しない(=ただのunshareなプロセスだと理解している)ならたくさん作れるし、そうでないならdockerたくさん作る意味がないし
kyokio

2021/02/03 05:43

>そもそもそれぞれの技術について、その長所を活かす利用方法を想定せずに「XXとXXの条件ならAとBは同じか?」なんて問に意味がない。 普通そんなメリットを潰す使い方しないから。 それぞれ利用シーンがあって、その用途に何が最適なのかを判断して利用するもの。 それぞれに、使い方によってメリットがありからそれを潰すような使い方は想定してないから議論にならないのはわかります。 今回は理解するためにこの状況(VMとコンテナ1つしか作らないし共有しないしされないぼっちがDockerを使う)なら同じような状態だよねというありえない状況を想定して理解を深めようと思いました。 でも意味がないのでこういうありえない想定はあんまり意味がないですね。 何度も回答していただきありがとうございました。
kyokio

2021/02/03 05:49

>「そんなに」の内容次第ですけど、linux慣れしていない人にとってはそんなに変わらないと感じると思います。Dockerのデメリットが気になる使い方( デメリットが原因で使えない使い方)をしなければそんなに変わらないでしょう。 「たくさん作らない」が少数なのか一つなのか、また少数だとしても理由次第ですが、例えばVLAN(LAN)とかを考える必要が無いとか、前述のDockerである事が気になりそうな理由に該当しない(=ただのunshareなプロセスだと理解している)ならたくさん作れるし、そうでないならdockerたくさん作る意味がないし MacOSでDockerを使う場合Linuxを準仮想環境として構築するからコンテナを1つしか作らず共有せず共有されない自分の環境でDockerを使う人がいたとしたら(多分そんな人はいないと思う)、VMとそんなにやってること変わらないんじゃないかなという質問でした。 なんかそんなことないっぽいのでもう少しググってみます
hentaiman

2021/02/03 06:13

> コンテナを1つしか作らず > VMとそんなにやってること変わらないんじゃないかな Dockerはコンテナ型仮想化のVPSサービスのような使い方を目的としていないと思うけど、そういう使い方を目的とするなら仮想環境の作成個数に関わらずDockerは選択肢に入りません。
guest

0

そこは仮想環境について話しているところなので、VMware・VirtualBox・Hyper-V 等を指していると思われます。よって間違いではないでしょう。

そもそもこの動画は仮想環境と Docker の関係性について話していないようですね。

DockerのOSはlinuxとは限らないんですか?

Linux と考えてよろしいと思います。

投稿2021/02/02 14:11

68user

総合スコア2022

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kyokio

2021/02/02 14:17

回答ありがとうございます。 勘違いしてしまいました。
guest

0

ベストアンサー

動画の冒頭少しと該当部分の前後ちょっとだけしか見てませんが、7:59辺りのところはdockerに限らない仮想環境一般のことについて話しているんだと思います。

DockerのOSはlinuxとは限らないんですか?

一般的にはDockerコンテナ上のアプリケーションはLinuxカーネルを呼び出していると考えていいと思います。
(Docker界隈で行われていることを全部把握しきれているわけではないので、もしかしたらLinux以外のカーネルで動かすような作業を進めているひとはいるかもしれません。)

追記

gentaroさんの回答で指摘されている通り、Windows上のdockerでWindowsベースのコンテナを動かすことが出来るようです。
その場合のdockerコンテナ上のアプリケーションはWindowsカーネルを呼び出すことになるんだと思います。

投稿2021/02/02 14:09

編集2021/02/02 15:27
hidezzz

総合スコア1248

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kyokio

2021/02/02 14:17

回答ありがとうございます。 Dockerの動画なのでDockerのことだと早とちりしてしまいました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問