docker
をテンプレートにして作成
開始行:
* 目次 [#xae43a58]
#contents
* Dockerとは [#s2275097]
- 仮想化を実現させるためのコンテナを作成・実行するための...
-- コンテナプラットフォームはDocker以外にもRedHat OpenShi...
- コンテナは仮想マシンと異なり軽量であり,異なるマシンで...
- 自環境を汚すことなく,サーバ環境を再現することが可能
* コンテナイメージとコンテナ [#ea19c83e]
- コンテナはコンテナイメージから作成される
-- コンテナ自体はOS上で動作するプロセス,コンテナイメージ...
- コンテナイメージは[[DockerHub:https://hub.docker.com]]...
- イメージのバージョンはTagで管理されている
* ライフサイクル [#tedc36fa]
- コンテナは"作成" -> "実行" -> "停止" -> "削除" というラ...
-- コンテナは作成コストが比較的低いため,基本的に利用が終...
-- データを永続化するにはVolumesやBind mountsを利用する
- コンテナの作成はコンテナイメージを元にして行われる,各...
* Engine/CLI/Desktop [#p239f1cf]
** Docker Engine [#kee9e870]
- コンテナを実行するためのソフトウェア
- Linuxカーネルの機能を使用するため,Linux環境でのみ実行...
** Docker CLI [#n219d22c]
- Docker Engineを操作するためのコマンドを提供する
- スクリプトへの組み込みや,他ツールとの連携で自動化を実...
** Docker Desktop [#kaaa8e24]
- macやWindowsでDockerを使うためのGUIアプリケーション
- Docker EngineやLinuxカーネルなどDockerを利用するための...
- Linuxカーネルを含むため,Liux以外でDockerを利用する場合...
* コンテナの実行と停止 [#nf6a1627]
- コンテナの実行にはdocker container runコマンドを利用する
- runコマンドはコンテナイメージがダウンロードされていない...
- コンテナの停止にはdocker container stopコマンドを利用する
- stopコマンドの後ろにコンテナ名を指定して,コンテナの停...
- docker container rmコマンドでコンテナの削除を行う
# postgresのコンテナイメージを元にpgというコンテナが作成...
docker container run --name pg --platform linux/amd64 -e...
# pgコンテナを停止する
docker container stop pg
# pgコンテナを削除する
docker container rm pg
** コンテナ内でコマンドを実行 [#d80cc575]
- docker container execでコンテナ内でコマンドを実行させる...
- itオプションを使用してbashをしてすると,コンテナのbash...
# コンテナ内のbashに接続して作業を行う
docker container exec -it pg bash
# ポスグレが動いているのでなにかする
psql -h localhost -U postgres
...
\q
# コンテナのbashを抜ける
exit
** コンテナの自動破棄 [#rdacb694]
- docker起動時に"--rm"オプションをつけると,コンテナ停止...
docker container run \
--rm \
--name pg \
--platform linux/amd64 \
-e POSTGRES_PASSWORD=password \
-d postgres
# 以下のコマンドでコンテナの削除も同時に行われる
docker container stop pg
* データの永続化 [#jce73ef3]
- コンテナ内のデータを永続化する方法は主に"ボリュームとバ...
** ボリューム [#qa3c7f4a]
- Dockerの管理ディレクトリ配下にデータが保存される
- データの移行やバックアップが用意ではあるが,データへの...
- ボリュームには"名前付きボリューム"と"匿名ボリューム"と...
*** ボリュームの作成 [#f6561cbd]
- docker volume createコマンドでボリュームを作成する
- docker volume lsコマンドで作成したボリューム一覧を確認...
$ docker volume create pg-volume
pg-volume
$ docker volume ls
DRIVER VOLUME NAME
local pg-volume
*** ボリュームの使用 [#pbbb6515]
-v [ボリューム名]:[コンテナの接続されるディレクトリ]オプ...
docker container run \
--rm \
--name pg \
--platform linux/amd64 \
-v pg-volume:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=password \
-d postgres
*** ボリュームの削除 [#q9c2e4a4]
- docker volume rmコマンドで作成されたボリュームは削除可能
docker volume rm pg-volume
** バイマウント [#fc0e7966]
- ホストマシンのフォルダーをマウントさせる仕組み
- データは共有され,ホストマシン・コンテナの両方からアク...
# -vで指定
docker container run \
--name apache \
-v "$PWD":/usr/local/apache2/htdocs/ \
-p 8080:80 \
-d httpd
終了行:
* 目次 [#xae43a58]
#contents
* Dockerとは [#s2275097]
- 仮想化を実現させるためのコンテナを作成・実行するための...
-- コンテナプラットフォームはDocker以外にもRedHat OpenShi...
- コンテナは仮想マシンと異なり軽量であり,異なるマシンで...
- 自環境を汚すことなく,サーバ環境を再現することが可能
* コンテナイメージとコンテナ [#ea19c83e]
- コンテナはコンテナイメージから作成される
-- コンテナ自体はOS上で動作するプロセス,コンテナイメージ...
- コンテナイメージは[[DockerHub:https://hub.docker.com]]...
- イメージのバージョンはTagで管理されている
* ライフサイクル [#tedc36fa]
- コンテナは"作成" -> "実行" -> "停止" -> "削除" というラ...
-- コンテナは作成コストが比較的低いため,基本的に利用が終...
-- データを永続化するにはVolumesやBind mountsを利用する
- コンテナの作成はコンテナイメージを元にして行われる,各...
* Engine/CLI/Desktop [#p239f1cf]
** Docker Engine [#kee9e870]
- コンテナを実行するためのソフトウェア
- Linuxカーネルの機能を使用するため,Linux環境でのみ実行...
** Docker CLI [#n219d22c]
- Docker Engineを操作するためのコマンドを提供する
- スクリプトへの組み込みや,他ツールとの連携で自動化を実...
** Docker Desktop [#kaaa8e24]
- macやWindowsでDockerを使うためのGUIアプリケーション
- Docker EngineやLinuxカーネルなどDockerを利用するための...
- Linuxカーネルを含むため,Liux以外でDockerを利用する場合...
* コンテナの実行と停止 [#nf6a1627]
- コンテナの実行にはdocker container runコマンドを利用する
- runコマンドはコンテナイメージがダウンロードされていない...
- コンテナの停止にはdocker container stopコマンドを利用する
- stopコマンドの後ろにコンテナ名を指定して,コンテナの停...
- docker container rmコマンドでコンテナの削除を行う
# postgresのコンテナイメージを元にpgというコンテナが作成...
docker container run --name pg --platform linux/amd64 -e...
# pgコンテナを停止する
docker container stop pg
# pgコンテナを削除する
docker container rm pg
** コンテナ内でコマンドを実行 [#d80cc575]
- docker container execでコンテナ内でコマンドを実行させる...
- itオプションを使用してbashをしてすると,コンテナのbash...
# コンテナ内のbashに接続して作業を行う
docker container exec -it pg bash
# ポスグレが動いているのでなにかする
psql -h localhost -U postgres
...
\q
# コンテナのbashを抜ける
exit
** コンテナの自動破棄 [#rdacb694]
- docker起動時に"--rm"オプションをつけると,コンテナ停止...
docker container run \
--rm \
--name pg \
--platform linux/amd64 \
-e POSTGRES_PASSWORD=password \
-d postgres
# 以下のコマンドでコンテナの削除も同時に行われる
docker container stop pg
* データの永続化 [#jce73ef3]
- コンテナ内のデータを永続化する方法は主に"ボリュームとバ...
** ボリューム [#qa3c7f4a]
- Dockerの管理ディレクトリ配下にデータが保存される
- データの移行やバックアップが用意ではあるが,データへの...
- ボリュームには"名前付きボリューム"と"匿名ボリューム"と...
*** ボリュームの作成 [#f6561cbd]
- docker volume createコマンドでボリュームを作成する
- docker volume lsコマンドで作成したボリューム一覧を確認...
$ docker volume create pg-volume
pg-volume
$ docker volume ls
DRIVER VOLUME NAME
local pg-volume
*** ボリュームの使用 [#pbbb6515]
-v [ボリューム名]:[コンテナの接続されるディレクトリ]オプ...
docker container run \
--rm \
--name pg \
--platform linux/amd64 \
-v pg-volume:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=password \
-d postgres
*** ボリュームの削除 [#q9c2e4a4]
- docker volume rmコマンドで作成されたボリュームは削除可能
docker volume rm pg-volume
** バイマウント [#fc0e7966]
- ホストマシンのフォルダーをマウントさせる仕組み
- データは共有され,ホストマシン・コンテナの両方からアク...
# -vで指定
docker container run \
--name apache \
-v "$PWD":/usr/local/apache2/htdocs/ \
-p 8080:80 \
-d httpd
ページ名: