0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Dockerについて 復習】

Last updated at Posted at 2021-01-25

こんにちは!
Docker!

#目次
1.iamgeとコンテナの違い

2.DockerHubでimageの見方

3.Docker-composeとは

4.docker-compose.ymlの書き方

5.phpmyadminの必要性

#1.imageとコンテナの違い
imageとは
・コンテナを作るためのタネみたいなもの

コンテナとは
・imageを元に生成される仮想環境の実行部分
・アプリケーションを管理するプログラムが組み込まれてる

#2.DockerHubでimageでの見方
下記の画像が、DockerHubで実際に検索した際に出てくるDockerfileです。
①〜③で書いてるように、複数Dokcerfileがありますよね??
それについて解説していきます!

スクリーンショット 2021-01-18 12.49.48.png
###画像下線の1.18.0/Stable/1.18 と3種類について
・これらは検索したimageのversionを示しています。

1.18.0のDockerFileを選んでも良いし、stableのDockerFileを選んでも良いということです!
(3番目もね!)

###1.18.0のそれぞれの意味

1.18.0
・Major Versionと言われて、これが変わるとガラッと機能が変わる
1.18.0
・Minor Versionと言われて、後方互換があり、便利な機能や記法が変わったりする
1.18.0
・Revision Versionと言われて、数値が上がるにつれて、バグの対応をしてくれる

###stableの意味
安定版だから、変化することがない。

###1.18の意味
・Major VersionとMinor Versionについては①と同じ
・Revision Versionが記載されていないので、改善されたバグは更新されない
###例えば
・1.18.0
1.18.0を選ぶと、version1.18.0のイメージしか使えないよね??
もし仮にバグが見つかったとしても、変更できなくて、DockerHubから違うversion(最新版とか)を新しく
取得しなくてはいけない。
・1.18
1.18を選ぶと、Revision Version部のみ記述がないので
DockerHub側が1.18のバグを見つけて更新/改善してくれた時に、
自動的にバグ改善したversionを認識して取得してくれる(表現あってるか不明)

例えば
2021/01/01
DockerHub上のnginxイメージが
1.18.0 stable 1.18
とあるとする。

2日後にnginxイメージ1.18.0でバグが見つかって更新されました

2021/01/03
DockerHub上のnginxイメージ
1.18.1 stable 1.18
というふうに変わっていく

ここで、2021/01/01の1.18.0を選んでると
01/03に更新された1.18.1versionを使えずバグは残り続ける。
1.18を選んでると、自動的にRevision Versionが更新され続けていく

###赤線部Perl/Alpineについて

perl
・どのOSで開くか(下記の画像参考に)

-alpine
・軽量化されたパック(必要最低限のファイルしかない)
・都度カスタマイズする必要がある。
スクリーンショット 2021-01-18 13.01.57.png

#3.Docker-composeとは
・複数のコンテナで構成されるアプリケーションについて、
Dockerイメージのビルドや各コンテナの起動・停止などをより簡単に行えるようにするツールです。

Dockerイメージのビルドとは
・イメージに対して自分で
docker-composer.yml上にカスタマイズして、自分独自のイメージを作成すること

docker-compose.ymlとは
・複数のコンテナの定義をymlファイルに書き、それを利用してDockerビルドやコンテナ起動をすることで、
簡単なコマンドで複数のコンテナを管理できるようになります。

#4.docker-compose.ymlの書き方

yamlの書き方のversion


version: "3.7"      [ymlのversion
services:         [serviceというコンテナを管理する
  nginx:               [nginxの名前は何でも良いが、アプリ名を書くのがベター
    build: ./nginx     [Dockerfileを使ってimageをカスタマイズする

    ports:             [右の80はローカル側のポート:左はDocker側のポート
      - "80:80"     [左のポート番号は、落としたいDockerFile内にポート番号が書かれてる(**画像1**)
     volumes:         [localとコンテナ内を共通化する
        - ./infra/nginx/default.conf:/etc/nginx/conf.d/default.conf [ホストdefault.confを同期 

** 画像1 ** EXPOSEがDocker側のポート番号(Nginxの場合は80)
スクリーンショット 2021-01-25 23.58.01.png

#5.勝手な復習なのでスキップしてください
スクリーンショット 2021-01-26 0.23.57.png

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?