Dockerコンテナを作成する際に、書くコンテナではデータを保存するボリュームが作成されます。
以下ではコンテナのボリュームを表示するコマンド結果ですが、ボリューム名が文字と数字の羅列となっており、非常に見にくく、どのボリュームがどのコンテナの物なのか分かりません。
~ $ docker volume ls DRIVER VOLUME NAME local 03d7c2274176bc90c7be3f5dfe65f36d70bb2268ecbe1a088efffff148ec32a8 local 6cb5c60b279a8ca5674d1417dd2ac2fa96bcdb734a8f7ee3689b130b8fe6ed98 local 8a03e9d52bdb3f49f676b7dc9519778a8273785bdb0596a95024b2e4b8fd50a8 local 35a99b0b8dbf95504b79f4c404a857458f5d5d91048ea87412f89a611886c7e2 local 043e4f93663bcbbb835f1cf9e1503f07e6f73746ce9e1095c4cf4981374878ea local 55eb4498745440b5445668d6945eff97e34401d46dcc36b5321a8366e58c7093 local 071d2ebd75917db9493077c11c47869d39ba3489626dcca2b681dc4db0e38ec5 ~ $
今回は、Dockerコンテナのボリュームの作成とマウント方法をまとめました。
Dockerコンテナで「volume」の任意作成とマウントをする方法
今回は、CentOS8のコンテナ作成で、任意で作成したボリュームをマウントするまでの手順をまとめます。
CentOS8は最新の「latest」イメージをインストールすることとします。
CentOS8最新版イメージをダウンロード
「docker pull」コマンドでCentOSの「最新OSイメージ」をダウンロードします。
バージョンを指定する場合は「centos」の後に数字を追加すれば、簡単にバージョン指定でダウンロードすることができます。
~ $ docker pull centos Using default tag: latest latest: Pulling from library/centos 8a29a15cefae: Pull complete Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700 Status: Downloaded newer image for centos:latest docker.io/library/centos:latest ~ $
最新のCentOSのバージョンがダウンロードされていることを以下で確認します。
~ $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 470671670cac 3 months ago 237MB ~ $
Dockerコンテナがマウントする「Volume(ボリューム)」の作成
次に今回構築するCentOS8の「コンテナ」でマウントする「volume」の作成をします。
以下では「test_vol」と言うボリュームを作成するコマンドとなります。
~ $ docker volume create test_vol test_vol ~ $
ボリュームが作成されるとかのようにリストで確認できます。
~ $ docker volume ls DRIVER VOLUME NAME local test_vol ~ $
DockerでCentOS8のイメージと作成したボリュームを使用してコンテナ起動
次にCentOS8のコンテナをイメージから起動しますが、上記で作成したボリュームを利用するので「-v」オプションを使用し、ボリュームをマウントします。
~ $ docker run -itd --privileged -p 2222:22 --name centos8 -v test_vol:/centos8-test_vol centos:latest /sbin/init aa9d761ab4842050540396438f0c446502fc93bb603f6821d06830db9d7262fc ~ $
対象のボリュームがない場合は、自動でボリュームが作成されます。
今回のボリュームは「test_vol」ですが、ない場合は、自動で「test_vol」が作成されます。
正常にコンテナが起動すると以下で確認できます。
~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9e41c0a5d824 centos:latest "/sbin/init" About an hour ago Up 47 minutes 0.0.0.0:2222->22/tcp centos8 ~ $
作成したコンテナにアクセスする場合は以下のコマンドでアクセスします。
~ $ docker exec -it centos8 /bin/bash [root@93f3d6ddfadd /]#
Dockerコンテナに任意で作成したボリュームをマウントする手順は以上となります。
ボリュームの管理もしやすいので参考にしてください。
Dockerを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す