LoginSignup
2

More than 3 years have passed since last update.

docker入門メモ

Last updated at Posted at 2020-02-05

dockerとは

開発環境をコンテナという単位で作るシステム。dockerhubというところにあげて色んな所に開発環境をコピーすることでどの端末でも同じ開発環境で開発できるようになる。

docker全体像

  • dockerfileからimageを作成
  • imageは設計書のようなものでこれからcontainerを作成
  • このcontainer上でアプリを動かす
  • imageはdockerhubで共有できる

docker用語集

  • docker daemon・・・dockerコンテナに指示をする常駐型のシステム
  • イメージビルド・・・dockerfileからイメージをつくること

仮想化の流れ

IMG_0053.JPG

  • docker デーモン経由でdockerhubからimageをとってくる
  • 一度クライアント側にimageを持ってくれば次コンテナを作るときは早くなる(取得しないので)

基本的なコマンド

より詳細なコマンド一覧
https://qiita.com/wasanx25/items/d47caf37b79e855af95f#up

普段の使い方

  • docker-compose upでコンテナを起動
  • コマンドはdocker-compose runを使い、例えばwebサーバーでrailsのコマンドを打つならdocker-compose run web rails〜みたいな感じ

コンテナ管理

Kubernetesとdockerswarmの違い

「コンテナ管理ツールのdocekr swarm/Kubernetesについて調べてみた」
https://go-mount.hatenablog.com/entry/2018/09/27/220404

この記事がわかりやすかった。

・webサービスを提供するにしても、フロントエンドのWebサーバから、webサーバからの処理を返すアプリケーション、データベースなど、複数のアプリケーションが必要。それぞれアプリごとにコンテナを作って、複数コンテナを連携させたい。
・安定してサービス提供を行うため、データベースはMaster/Slaveの冗長構成で、別々のサーバで、別々にコンテナを動かして連携させたい。
・新しいコンテナを立ち上げるときは、リソースが比較的空いてるサーバに立ち上げてほしい
・コンテナがちゃんと起動しているか確認して、停止していたら再起動してほしい

上記の目的で使うもの。Kubernetesのほうが下記で優れているらしい

docker swarmの時と同じように、管理機能を持つmaster nodeと実際にコンテナを実行させるnodeに分かれています。docker swarmとさらに違う点としては、複数コンテナを集めてPodという単位でkubernetes上ではコンテナを管理します。

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
2