質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Docker

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

Q&A

解決済

1回答

714閲覧

Dockerの目的やサービスなどに関する質問

torimingo

総合スコア122

Docker

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

0グッド

1クリップ

投稿2019/12/22 00:19

Dockerが、あまりにぼんやりしすぎていて、よくわかりません。
以下に質問を列挙します。

・Dockerの目的は、Webサービスを複数人で開発するときに、環境を統一させるためのもの、という認識は正しいでしょうか?

・Docker上で作成したものは、Docker上でしか動かないのでしょうか?

・Webサービスをクラウドで提供するときには、どこかのサーバーを借りることになると思うんですが、そのサーバーでDockerを動かして、そのDocker上でサービスを提供するという感じになるのでしょうか?
(Docker上でサービスを提供すると、オーバーヘッドが生じませんか?)

・「コンテナをアプリごとにわける」という考え方がよくわかりません。そもそもアプリとは何のことでしょう?ひとつのWebサービスに複数のアプリがあるのでしょうか?アプリケーションサーバーのアプリと同じ意味ですか?dockerはWebサーバーではなくアプリケーションサーバーで動作させるのでしょうか?

・サーバーには複数のひとがアクセスするため、マルチプロセスや、マルチスレッドで対応すると思うのですが、Dockerとの関連性がわかりません。ひとつのプロセス上にDockerがあり、そのDocker上に複数のコンテナがあるイメージになりますか・・・?

とりとめがなく、そもそもなにを言ってるのかわからない、根本的に間違っているという質問もあるかと思いますが、少しでもぼんやりとしたイメージを解消させたく、質問させて頂きました。
部分的にでも回答して頂けると幸いです。

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

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

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

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

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

dameo

2019/12/22 04:28

質問は一個ずつ分けましょう そして一個ずつ聞いてください
urbainleverrier

2019/12/22 05:10

私の理解では、(上から段落ごとに採番したとして) 1. 正しいです。しかし、dockerの一部の機能を利用したものに過ぎません。 2. わかりません。 3. もうすぐkubernetesで運用するのが一般的になると思います。その際、dockerを使うのかどうかは必要に応じて決めます。オーバーヘッドとは無駄な労力を割いているというニュアンスかと思いますが、プロセスを監視し、コントロールするには必要な部分かと思います。 4. アプリとは関心のあるプロセスのことと置き換えれば、すんなり理解できると思います。例えば、prometheus, postgres, kafka... 5. docker daemonは一つのプロセスに過ぎません。osを監視、操作しています。アプリは別のプロセスに名前付けして動かします。それはdocker engineがコントロールしています。
torimingo

2019/12/22 09:12

>>dameoさん 了解しました。 本稿は、回答頂けてるので(質問を取り下げるのは申し訳ないので)、以後、気をつけます。 >>paulhindemith ご回答ありがとうございます。 dockerといってもいろいろな機能があるのですね。 少しモヤモヤが晴れましたm(__)m
guest

回答1

0

ベストアンサー

コンテナを使ったプロジェクトは経験ないのですが、回答が付かないので書いてみます。

・Dockerの目的は、Webサービスを複数人で開発するときに、環境を統一させるためのもの、という認識は正しいでしょうか?

そういう使い方 も ありますが、利用法の中の1つでしょうね。

・Docker上で作成したものは、Docker上でしか動かないのでしょうか?

「Docker上で開発したプログラムは」ということであれば、そんなことはありません。

・Webサービスをクラウドで提供するときには、どこかのサーバーを借りることになると思うんですが、そのサーバーでDockerを動かして、そのDocker上でサービスを提供するという感じになるのでしょうか?

Dockerの特徴を生かすならそうでしょうね。
もちろん、開発したプログラムをDockerを使わずに動かしてもいいです。

(Docker上でサービスを提供すると、オーバーヘッドが生じませんか?)

何のオーバーヘッドですかね。CPUやメモリはホストOSと同じなのでそのあたりでは特にないかと思います。

・「コンテナをアプリごとにわける」という考え方がよくわかりません。そもそもアプリとは何のことでしょう?ひとつのWebサービスに複数のアプリがあるのでしょうか?アプリケーションサーバーのアプリと同じ意味ですか?dockerはWebサーバーではなくアプリケーションサーバーで動作させるのでしょうか?

システムをいくつかに分割して開発・構築すると思いますが、それぞれのことと思えばいいでしょう。
Webサーバーもそうだし、アプリケーションサーバーもそうです。
と、書いてしまうと、ちょっと語弊がありますね。うーむ。

・サーバーには複数のひとがアクセスするため、マルチプロセスや、マルチスレッドで対応すると思うのですが、Dockerとの関連性がわかりません。ひとつのプロセス上にDockerがあり、そのDocker上に複数のコンテナがあるイメージになりますか・・・?

コンテナは、プロセスの動作の仕方ですが、「複数のひとがアクセスするため、マルチプロセスや、マルチスレッドで対応すると思うのですが、」という観点からは、特にコンテナだからという違いは無いです。多重度を増やすためにはコンテナプロセスを増やす必要があります。

投稿2019/12/22 14:00

otn

総合スコア84555

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

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

torimingo

2019/12/22 15:07

ご回答をありがとうございました。 OSとサービスの間にDockerを挟むと、サービスへアクセスしたユーザへの反応(レイテンシ?)が少し遅れるのではないかと思い、このことをオーバーヘッドと質問文で勝手に名付けてしまいました。
otn

2019/12/22 15:29

いやもちろんそれがオーバーヘッドなのですが、どの部分で生じるオーバーヘッドを気にしているのかなと。 仮想マシンと違ってCPUやメモリのオーバーヘッドは無いというのは書いた通りですが、名前空間の分離によりいくつかのシステムコールで名前の翻訳処理が入るだけだと思います。
torimingo

2019/12/23 08:01

質問文のオーバーヘッドは、CPUのオーバーヘッドを意味していました。 otnさんのご回答で、すっきり致しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問