最終更新日: 2026-08-02
TOP(About this memo)) > 一覧(Docker) > ボリューム
docker container run \
--rm \
-v $(pwd):/mnt \
-it ubuntu:18.04 \
bash
/mnt にマウントされる。例えばカレントディレクトリに greet.txt を作成すると、/mnt/greet.txt がコンテナ上でも作成される。docker volume create example-volumedocker volume ls で確認するとボリュームがある。-v オプションが使える。bind mountでは左辺にDockerホストのディレクトリを指定したのに対し、こちらではボリュームの名前を指定する。docker container run \
--rm \
-v example-volume:/mnt \
-it ubuntu:18.04 \
bash
--mount オプションを使ってもよい。この場合は type に bind ではなく volume を指定した上で、source にボリュームの名前を指定する。docker container run \
--rm \
--mount type=volume,source=example-volume,destination=/mnt \
-it ubuntu:18.04 \
bash
docker ps で「CONTAINER ID」を確認し、docker inspect コンテナID | grep ボリューム名 とすると確認できる。実体は /var/lib/docker/volumes あたり(sudo ls /var/lib/docker/volumes/ボリューム名/_data)。docker run の際に -u で指定する方法
docker run -it -u \id -u $USER` debian:jessie /bin/bash`/etc/passwd の情報とuidが一貫していないという問題が残る。
/etc/passwd を参照することがあり、問題が起きる場合もある。docker run -it -u \id -u`:`id -g` debian:jessie /bin/bash` とすることで解消できる場合がある(?)。useradd・groupmod する方法(こちらのほうが確実(IMO))
RUN の際にそのuid:gidを指定するか、command でシェルスクリプト(useradd、groupmodした上でそのユーザーにsuする)を実行する。user: 1000:1000 のように設定できる。