ナレッジ吐き出し用の投稿
Docker
コンテナ型の仮想化環境を提供するオープンソースソフトウェア ↔ Vmwareはホスト型の仮想化環境
本番環境を再現するためにDockerのような仮想化技術が使用される → ローカル環境, テスト環境, 本番環境をdockerのコンテナで制御(切り替え等)できるイメージかな(イメージという表現はややこしいか...)
イメージとは一般的な画像データ(jpeg,pngなど)ではなく、イメージファイル(CD-R等に記録されるそのままのデータのこと)を指す。
コンテナというものはイメージが変換されて生成される → イメージがあれば同じものが生成できる、メタデータの塊のような感覚かな
Docker compose
複数コンテナの一元管理
他のミドルウェアを利用するかもしれない、かつコンテナを簡単に管理したいとき使用
Docker Composeは、Docker For Macを入れていれば自動的にインストールはされている
docker-compese.ymlの作成
volumes
[ホストマシンのパス]:[Dockerコンテナ内のパス] → ホストマシンとDockerコンテナ内のファイルをSyncすることができる
tty
Dockerコンテナを起動してもtrueをつけることで永続化できます。
docker-compose build
docker-compose up -d
docker-compose exec web sh
dockerのコンテナ思想が解決してくれること(図解)
オーケストレーション
負荷の変動が大きいシステムでは、負荷の状況に応じて動的にサーバーの数を増減させる(スケールイン/スケールアウト)
仮想化ではサーバーの起動や終了にある程度時間がかかりますので、スムーズなスケールアウト/スケールインを行いにくい
これらを解決する、多数のコンテナを管理するソフト「オーケストレーションツール」(Orchestration Tool)がある
まだ知れそうな奴ら
- Dockerが動く仕組み, Linuxカーネルの理解
- Dockerfile, インフラ設定のコード化
- Dockerのネットワーク設定, hostsの設定とか
- オーケストレーションや運用, AWSでの運用など
参考
docker
- https://inside.dmm.com/entry/2018/03/08/docker_bigginer
docker x AWS
- https://www.slideshare.net/AmazonWebServicesJapan/awsdocker
docker, nuxt.js
- https://goodforthree.com/nuxt-docker/
- https://forum.vuejs.org/t/nuxt-ssr-docker/34279
docker-compose
- https://knowledge.sakura.ad.jp/16862/
- https://qiita.com/L_e_k_o/items/986196a15b08bbb14384
- https://qiita.com/y_hokkey/items/d51e69c6ff4015e85fce
docker-compose x gitlab, redmine, jenkins
- https://qiita.com/nexkeh/items/02a4d6c33d884bda1b23