1
0

More than 3 years have passed since last update.

【Docker】最初の第一歩。Docker を始める前に知っておくべきこと

Posted at

パンプキン カフェ.png

こんにちは、まゆみです。

今回の記事からDocker に関する記事をシリーズで書いていこうと思います。

まず実際の記事を書く前に、私がDockerを学ぼうと思ったきっかけをシェアさせてください。

私が、Docker に関する記事を書こうと思ったきっかけは下記の4つです。

  1. 最初のきっかけは、アメリカ人のインフラエンジニアの友人に勉強を薦められたこと
  2. 日本語で書かれたDockerの関連記事が意外に少ないと感じた事
  3. 自分自身でDockerを試してみて、こんなに便利なツールはないと感じた事
  4. 上記2と3より、これから日本でDockerのスキルを持っているエンジニアは重宝されると思ったこと

です。

みなさんも、Dockerを学んで、希少価値のあるエンジニアを目指しませんか?

今回のQiitaの記事から、Dockerについての

  • 私が座学で学んだこと
  • アメリカ人エンジニアの友人から教えてもらった実際の業務で使われていること

の両方を記事にして投稿していこうと思います。

なぜDocker??

Should I learn ??.png

「新しい技術、学ぶの面倒だなあ。。。」

ですが、もし学習をするというコストと、その結果得られるベネフィットを比べて、ベネフィットの方が大きかったら??

Docker は絶対に学ぶ価値があると私は思います。

開発環境を構築するとき、

インストーラーをダウンロード

インストーラーを起動

エラー発生!

トラブルシューティング

リインストール

また別のエラー発生!

の繰り返しで、なかなか前に進めなかった経験はありませんか?

Dockerを使うべき、最大の理由は「人生をより快適にしてくれる」ということです。

人生をより快適にというと大げさに聞こえるかも知れませんが、この

エラー➡トラブルシューティング➡エラー解決➡他のエラー発生

という無限に続きそうなプロセスを簡単にしてくれるのなら、エンジニアにとってこんな朗報はありませんっ!

どれくらい人生を楽にしてくれるの?

では、実際にDockerがどれほどパワフルな物なのか、例を示しながら解説しますね。

Redisをインストールしてちょうだい.png

あなたは、

「Redisをインストールしておいて(そんなの簡単でしょというニュアンスも込められて)」

という命令を上司から受けました。

とりあえず、Redisのページにアクセスして試してみよう!

2021-05-26_9-49-32.png

わぁ。。。どこから手を付けたらいいねんっ!って吠えたくなると思います。(笑)

しかし、ここでDocker という救世主が。。。

名称未設定のデザイン (11).png

docker run -it redis

このコードを実行するだけで

2021-05-26_10-03-18.png

ものの1秒でRedisの準備ができましたっ!

Docker ってなに?

では今、Dockerを学ぶべき理由が分かったところで、次に、Dockerとは一体どんなものなのかを、Dockerで使われる用語も用いながら解説していきます

先ほど、例としてRedisのインストールをDockerを使って簡単にすることができました。

その時、水面下では何が起こっていたかというと

Container.png

Docker Client(CLI)を使って、Docker Server(Docker Daemon)に命令を出します。

(※私たちはDocker Server に直接アクセスしているわけではなく、Docker Clientを通して命令を出しています)

Docker Client.png

そしてDocker Serverが、Docker hub と言われるところにアクセスをして、そこからDocker fileというものを引っ張ってきます。

そのfileからImagesが作られImages からContainer が作られるのです。

Docker ImagesやContainer について詳しい事は、後々の記事で書いていきますが

Docker hub にあるDocker file からDocker Images が作られ

Container はDocker Images から作られるインスタンスである

Docker fileというものが実際どういうものなのか、Docker hubにアクセスして、Redis のDocker fileを見てみましょう

2021-05-26_11-01-15.png

Docker Imagesが作られるプロセスが全て記載されたファイルになります。

最終的にContainer が作られることで

①それぞれが独立している環境

②他の人とも共有できる環境

ができます。

Docker file はDocker hub から引っ張ってくるだけではなく、一から作成する事もできます。
そのあたりのことも後々、記事にしていきますね。

Docker を始める前にLinuxコマンドを知っておくべき?

Docker はLinuxのコンテナ技術を利用していて、Linuxのコマンドで命令を出していくので、Dockerの勉強の前にLinuxのコマンドを知っておくべきか?と思われる方も多いと思います。

私は、Linuxのコマンドの勉強とDockerの勉強を並行して行っていけばいいと思います

Docker の学習をしていく中で、知らないコマンドも出てくると思いますが、その都度覚えていくという感じで十分前に進んで行けると思います。

まとめ

今回はざっくりとDockerの解説をさせていただきました。

Dockerがどんなものなのか?を想像する助けになれたなら嬉しく思います。

次回以降の記事では

Docker のインストールの仕方(Windows)や、

ImageからContainer を作る時のコマンドなどについて書いていこうと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0