このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
docker:20:basic [2020/12/19 10:27] y2sunlight [コンテナの起動] |
docker:20:basic [2020/12/23 22:18] (現在) y2sunlight [Dcoker コンテナの基本的な利用方法(Run)] |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== Dcoker 基本的な利用方法 ====== | + | ====== Dcoker |
| Docker 20.10.1 | Docker 20.10.1 | ||
| 行 9: | 行 9: | ||
| * [[wsl2: | * [[wsl2: | ||
| - | * Dcoker コンテナの基本的な利用方法 | + | * Dcoker コンテナの基本的な利用方法(Run) |
| - | * [[docker: | + | |
| * [[docker: | * [[docker: | ||
| - | * [[docker: | ||
| リンク | リンク | ||
| 行 59: | 行 57: | ||
| \\ | \\ | ||
| - | ==== 詳細情報の表示 ==== | ||
| - | |||
| - | コンテナに関する全ての情報を取得するには、[[https:// | ||
| - | |||
| - | <code bash> | ||
| - | $ docker inspect httpd | ||
| - | </ | ||
| - | |||
| - | \\ | ||
| ===== Dockerイメージの取得 ===== | ===== Dockerイメージの取得 ===== | ||
| 行 106: | 行 95: | ||
| この Docker イメージが、Docker エンジンによって Docker コンテナとして実行されると、Linux の提供する名前空間(namespace)や cgroup によって隔離された特別な状態のプロセスとして起動されます。 | この Docker イメージが、Docker エンジンによって Docker コンテナとして実行されると、Linux の提供する名前空間(namespace)や cgroup によって隔離された特別な状態のプロセスとして起動されます。 | ||
| + | |||
| + | Dockerイメージについては、以下を参照して下さい。非常に丁寧に解説されています: | ||
| + | |||
| + | * [[https:// | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ==== イメージのレイヤ情報出力 ==== | ||
| [[https:// | [[https:// | ||
| 行 135: | 行 132: | ||
| * '' | * '' | ||
| - | Dockerイメージについては、以下を参照して下さい。非常に丁寧に解説されています: | + | \\ |
| - | * [[https://qiita.com/zembutsu/items/24558f9d0d254e33088f|Dockerイメージの理解を目指すチュートリアル]] | + | ==== イメージの詳細情報の表示 ==== |
| + | |||
| + | イメージに関する全ての情報を取得するには、[[https://docs.docker.jp/engine/reference/commandline/ | ||
| + | |||
| + | <code bash> | ||
| + | $ docker inspect httpd | ||
| + | </ | ||
| + | |||
| + | 上の例は、全ての詳細情報を表示しますが、次の例のように情報の一部を検索することも出来ます。下の例では、イメージの持つコマンドを検索しています。 | ||
| + | |||
| + | <code bash> | ||
| + | docker inspect httpd --format=' | ||
| + | [httpd-foreground] | ||
| + | </ | ||
| + | |||
| + | この例から、httpd イメージのコンテナを実行すると '' | ||
| \\ | \\ | ||
| 行 226: | 行 238: | ||
| ===== コンテナの操作 ===== | ===== コンテナの操作 ===== | ||
| + | |||
| + | [[https:// | ||
| <code bash> | <code bash> | ||
| - | $ docker ps | + | $ docker ps # 稼働中のコンテナの一覧 |
| - | $ docker ps -a | + | $ docker ps -a # 全てのコンテナの一覧 |
| </ | </ | ||
| + | |||
| + | 実行例: | ||
| <code bash> | <code bash> | ||
| 行 237: | 行 253: | ||
| fec87985e984 | fec87985e984 | ||
| </ | </ | ||
| + | |||
| + | 以下のコマンドは、コンテナの開始、停止、強制終了、削除を行います: | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | 実行例: | ||
| <code bash> | <code bash> | ||
| - | $ docker start fec87985e984 | + | $ docker start fec87985e984 |
| - | $ docker stop fec87985e984 | + | $ docker stop fec87985e984 |
| - | $ docker kill fec87985e984 | + | $ docker kill fec87985e984 |
| - | $ docker rm fec87985e984 | + | $ docker rm fec87985e984 |
| </ | </ | ||
| 行 251: | 行 276: | ||
| \\ | \\ | ||
| - | ===== helloworld.html ===== | + | ===== バインドマウントの利用 ===== |
| + | |||
| + | ==== バインドマウントとは ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ==== バインドマウントの例 ==== | ||
| + | |||
| + | バインドマウント(bind mounts)の例として、Apache コンテナのドキュメントルートをホスト側にマウントします。 | ||
| + | |||
| + | まず、準備としてホスト側で ホームディレクトリ下に新しいディレクトリ('' | ||
| + | |||
| + | <code bash> | ||
| + | $ cd ~ | ||
| + | $ mkdir htdocs | ||
| + | $ cd htdocs | ||
| + | </ | ||
| + | |||
| + | 新しいディレクトリ('' | ||
| + | |||
| + | <code html index.html> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | 今度は、apache の '' | ||
| + | |||
| + | <code bash> | ||
| + | $ docker run -it httpd bash | ||
| + | </ | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | コンテナ内で '' | ||
| + | |||
| + | <code sh> | ||
| + | # cat / | ||
| + | DocumentRoot "/ | ||
| + | </ | ||
| + | |||
| + | コンテナ内での操作が終了したら '' | ||
| + | |||
| + | === Apacheコンテナの起動 === | ||
| + | |||
| + | Apache のドキュメントルート( ''/ | ||
| + | |||
| + | <code bash> | ||
| + | $ docker run -d -p 8080:80 -v $(pwd):/ | ||
| + | </ | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | この例では、'' | ||
| + | |||
| + | <code bash> | ||
| + | $ docker run -d -p 8080:80 --mount type=bind,source=$(pwd), | ||
| + | </ | ||
| - | https:// | + | 両者の違いは次の通りです。 |
| + | * '' | ||
| + | * '' | ||
| \\ | \\ | ||