Dockerまとめ

Dockerメモ

Posted by     "sora" on Monday, May 29, 2023

Dockerまとめ


0章 初めに

  • Dockerを学習した際のメモ帳です

1章 Dockerとは

1.1 Docker概要

  • コンテナ仮想化技術を利用したアプリケーションの実行環境を構築出来る

  • コンテナはオーバーヘッドが少ないので軽量で高速な動作が可能

  • Dockerイメージを元にコンテナを作成する

  • 作成されたコンテナには色々な要素がある

    • アプリの実行モジュール、ミドルウェア、ライブラリ、OSネットワークなどのインフラ
  • そのコンテナをDockerHubなどで共有することで様々な環境で動かすことが可能

1.2 Dockerの機能

  • Dockerには三つの機能がある
    • Dockerのイメージを作るBuild
      • Dockerのコマンドで作成する方法とDockerfileという設定ファイルを元に自動で作成する方法がある
      • Dockerイメージは重ねて使う事ができ、重ねて別のイメージを作成できる
    • Dockerイメージを共有するShip
      • イメージはDockerレジストリで共有でき、DockerHubでは様々なOSイメージが公開されている他、個人が共有することも可能
    • Dockerコンテナを動かす機能Run
      • Dockerはコンテナ単位でサーバー機能を動かす
      • Docker環境さえあればどこでもコンテナを動かすことが出来る

2章 Dockerの基本操作

2.1 Dockerイメージのダウンロード

  • DockerHubから取得する場合docker image pull [オプション名] イメージ名[:タグ名]
    • docker image pull centos:7

2.2 イメージの一覧表示

  • 取得したイメージを一覧表示する場合docker image ls [オプション] [レポジトリ名]
オプション       内容
-all,-a        全件表示
--digests      ダイジェスト表示
--no-trunc     結果の全表示
--puiet,-p     IDのみ表示

2.3 イメージの削除

  • 作成したイメージを削除する場合docker image rm [オプション] イメージ名 [イメージ名]
オプション       内容
--force,-f     強制的な削除
--no-prun      中間イメージを作成しない

3章 Dockerコンテナのサイクル

3.1 生成起動

  • Dockerコンテナの生成起動はdocker container run [オプション] イメージ名[:タグ名] [引数]
オプション         内容
-attach,-a       コンテナのシェルに接続する
--detach,-d      コンテナを生成してバックグラウンドで実行する
--name [コンテナ名] 結果の全表示
  • ネットワークの設定を行うためには$ docker container run [ネットワークオプション] イメージ名[:タグ名] [引数]
    • docker container run -d -p 8080:80 apacheで8080にアクセスするとapache80番ポートへアクセスできる

3.2 停止

  • 起動しているコンテナを停止するにはdocker container stop [オプション] コンテナ識別子 [コンテナ識別子]

3.3 削除

  • コンテナを削除するには$ docker container rm [オプション] コンテナ識別子 [コンテナ識別子]
オプション         内容
--force,-f       強制的に削除
--volumes,-v      割り当てたボリュームを削除

4章 Dockerの作成

4.1 Dockerfile

  • Dockerfileを使うと様々な設定やコマンドなどを追加出来る
  • Dockerfileには拡張子はいらない
  • 記述方法は命令 因数と書く
    • (例)From centos:centos7
  • 実行する際はdocker build -t [生成するイメージ名]:[タグ名] [Dockerfileの場所]
    • docker build -t sample:var1.0 ./
命令         説明
FROM        環境のベースは何か
RUN         実行したいコマンド
CMD         コンテナが実行される際に動くコマンド
WORKDIR     これ以下が操作するディレクトリの絶対パス
ENV         環境変数の設定

4.2 DockerCompose

  • いくつかのコンテナ同士を連携させて動作させることが出来る
  • それをDockerComposeと言い、docker-compose.ymlというファイルで管理することが出来る
    • この定義ファイルを元にdocker-composeコマンドを実行することで同一ホスト上のコンテナをまとめて操作出来る