logo

勉強会でDocker入門してみた

404-Image-Not-Found

参考

Dockerとは

コンテナ型の仮想環境。

例: Node.jsのインストール

Dockerを使わない場合
各個人でインストールする必要があるため、バージョンなどの微妙な差が出てきてしまう。OS間での差異もあったりするので厄介。
→ バグの原因になったりする

使う場合
全員が同じ環境を作れる!
削除が簡単!あれこれ開発環境を入れてしまう自分みたいな人間におすすめ

構成

以下の3つを覚えておけば問題ナシ

  1. イメージ
  2. コンテナ
  3. ボリューム

イメージ

Dockerの設計図。コンテナを作るための設定を行う。
イメージを元にコンテナを起動することで、それぞれの開発環境を作れる。
イメージの共有から他のメンバーが同様の環境を作れる。
Docker Hubを使っても良いが、GitHubのほうが一般的。

Recent Tagsについて

イメージのバージョンのこと。
Dockerに対応しているバージョンが記載されている。

Docker Tagには何を使うのか?-> Alpine Linux多い
参考: 軽量Dockerイメージに安易にAlpineを使うのはやめたほうがいいという話 - inductor's blog

コンテナ

アプリの実行環境。
コンテナは作成・起動・削除が可能。
Docker Desktopでこの作業が楽に行える。

ボリューム

データの永続化を担当する場所。永続化: 外部HDDみたいなもの
基本的にコンテナを削除するとデータは消える。
外部にデータ保管場所が欲しい!!これがボリューム

コンテナの外にボリュームが乗っかっている。
Dockerの詳しい構成は後に調べる #task

yamlについて

設定をcompose.yamlに記載する。
構文はGitHub Actionsの際に触っているのでだいたいわかる。

ホスティングについて
GCP, AWSやVercel, Cloudflareも使用できる。
参考: Docker + React + TypeScript の 環境構築方法 #Docker - Qiita

Docker Compose

複数コンテナの定義と実行を行う。
正体はyamlファイル。
以下のコマンドを使用する。

例:

docker-compose build # イメージ構築
docker-compose up -d # コンテナ作成 -dでバックグラウンドで実行できる
docker-compose stop # 停止
docker-compose down # 停止と削除

基本的にはdocker-compose stopを使うことが多いそう。

TTYについて

falseにするとどうなるか?→ 実行してすぐ終了してしまう。
TTY: 標準入出力先のデバイスのこと。
ttyは仮想端末を配置するコマンドである。
参考: DockerのTTYって何? (zenn.dev)

DockerFile

コンテナのビルド時や起動時の作業を1つにまとめたもの。
compose.yamlとの違いは、yamlは起動やその諸設定を行える。DockerFileでは起動時やビルド時の作業を定義する。

docker, docker-composeコマンドの違い

1つのコンテナを起動するか、2つ以上のコンテナを起動するかの違い。

コマンドオプションについて

  • sh -c
    • コマンドを実行するときに使われる
    • shでシェル実行、-cで以降が文字列であると示す
© 2024 Hengineer.tech