Docker_マウント

項目 ボリュームマウント バインドマウント
記憶領域 ボリューム ディレクトリやファイル
マウントの場所 DockerEngine管理下 どこでも可能
マウント時の動作 ボリューム作成してマウント R既存のファイルやフォルダをマウント
内容の編集 Dockerコンテナを経由して行う 普通のファイルとして扱う
バックアップ 複雑な手順 普通のファイルとして扱う

バインドマウント

PCにマウントするフォルダ作成
「index.html」を作成。中身は適当なhtmlを作成しておく
コマンド実行
docker run –name apa000ex19 -d -p 8089:80 -v PCのフォルダ:/usr/local/apache2/htdocs/

docker run --name apa000ex19 -d -p 8089:80 \
-v /Users/ユーザ名/勉強/Docker_bindMount:\
/usr/local/apache2/htdocs/ httpd

下記にアクセスし「Index of /」と出てくるのを確認
http://localhost:8089/

マウントしたPCフォルダに作成した「index.html」を入れる

http://localhost:8089/にアクセスし作成したhtml画面になっていればOK

ボリュームマウント

ボリュームを作成

docker volume create apa000vo1

ボリューム確認

docker volume ls

コンテナ作成&ボリュームマウント

docker run --name apa000ex19 -d -p 8089:80 \
-v apa000vo1:\
/usr/local/apache2/htdocs/ httpd

ボリュームの詳細

docker volume inspect apa000vo1

「Mountpoint」と「Name」を確認

[
    {
        "CreatedAt": "2023-08-14T05:48:16Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/apa000vo1/_data",
        "Name": "apa000vo1",
        "Options": null,
        "Scope": "local"
    }
]

マウントされているかの確認

docker container inspect apa000ex19

「Name」「Source」「Destination」の確認

"Mounts": [
            {
                "Type": "volume",
                "Name": "apa000vo1",
                "Source": "/var/lib/docker/volumes/apa000vo1/_data",
                "Destination": "/usr/local/apache2/htdocs",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            }
        ],

ボリュームのバックアップ

圧縮してバックアップ

pcに「/Users/ユーザー名/勉強/Docker_bindMount」フォルダを作成
コマンド実行し
「/Users/ユーザー名/勉強/Docker_bindMount」
に圧縮ファイルができていればOK
解凍すれば「index.html」がある
※コンテナはすぐに削除される
バックアップのためだけのコンテナのため

docker run --rm -v apa000vo1:/mount_moto \
-v /Users/ユーザー名/勉強/Docker_bindMount:/mount_saki \
busybox tar czvf /mount_saki/backup_apa.tar.gz -C /mount_moto .

リストア(復元)

docker run --rm -v apa000vo1:/mount_moto \
-v /Users/ユーザー名/勉強/Docker_bindMount:/mount_saki \
busybox tar xzvf /mount_saki/backup_apa.tar.gz -C /mount_moto

後始末

#コンテナ停止
docker stop apa000ex19
#コンテナ削除
docker rm apa000ex19
#コンテナ確認
docker ps -a
#ボリューム確認
docker volume ls
#ボリューム削除
docker volume rm apa000vo1
#イメージ確認
docker image ls
#イメージ削除
docker image rm httpd busybox
Author: gaa

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です