Macでdocker volume inspect <dockerid>
を実行すると、データへのパスが表示されますが、これは/var/lib/docker/volumes/<volume name>
として表示されます。
Mac上では、Dockerが非常に小さいVMの内側に実行されるため、このリンクは存在しません。
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
を使用してVMに入り、そのフォルダに移動してボリュームを表示できます。
だからそれをすべて得ましたが、私の質問は次のとおりです。私のホストマシンにこれらのボリュームにあるものをどのようにリンクするのですか?
私はこれを試しました:docker run -it --volume hello:/hello2 --name access_volumes busybox:latest /bin/sh
ここでhelloは私が作成したボリュームの名前です。
ホストマシン上のフォルダをコンテナにリンクできますが、コンテンツをバックアップするか、ホストマシンからボリュームの内容を編集します。
それ、どうやったら出来るの?
私はあなたが容器なしでそれをすることができるとは思わない。 https://docs.docker.com/storage/#backup-restore-or-migrate-data-volumes -------Data-Volumes] == ------さまよう - or-migrate-data-volumes] ==
docker run --rm --volume hello:/data -v $(pwd):/backup busybox tar cvf /backup/backup.tar /dbdata
_
または変更するために:
docker run -d --name access_volume --volume hello:/data busybox
docker cp access_volume:/data local-data
# modify local-data
docker cp local-data access_volume:/data
_
たとえば、ファイルdocker-compose.ymlを持つボリュームを作成します。
...
influxdb:
image: influxdb:latest
container_name: influxdb
restart: always
ports:
- "8086:8086"
- "9092:9092"
volumes:
- type: volume
source: vol_influxdb
target: /var/lib/influxdb
_
...
Docker-VMにあるため、Macにこのボリューム "vol_influxdb"が見つかりません。 Mac端末を起動します。
screen /Users/<username>/Library/Containers/com.docker.docker/Data/vms/0/tty
_
今、あなたはDocker-VMにいて、あなたはあなたの音量を検索することができます:
cd /var/lib/docker/volumes/<VolumeName>/_data/
_
Docker-Compose:フォルダをコンテナにリンクすることができます。volumes
あなたはこのようにリンクすることができます
volumes:
- ./your_Host_folder:/folder_in_container/
_