나는지속도커의 경우. 볼륨의 이름을 지정 extra-addons
하고 에 위치해야 합니다 /mnt/
.
다음 명령을 실행합니다.
sudo docker volume create /mnt/extra-addons
다음 오류 메시지가 나타납니다.
Error response from daemon: create /mnt/extra-addons: "/mnt/extra-addons" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path
간단히 실행하면 sudo docker volume create extra-addons
이 문제가 발생하지 않지만 문제의 볼륨을 검사했을 때 볼륨이 sudo docker inspect extra-addons
원하지 않는 위치에 있음을 발견했습니다.
[
{
"CreatedAt": "2018-04-21T14:40:25+03:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/extra-addons/_data",
"Name": "extra-addons",
"Options": {},
"Scope": "local"
}
]
내 말은, 다음과 같은 볼륨을 보고 싶다는 뜻입니다./mnt/extra-addons
어떤 아이디어가 있나요?
답변1
해결책을 찾았습니다.
설치해야 해요지역적 지속성끼워 넣다.
생성하려는 볼륨을 다음과 같이 마운트 지점에 마운트해야 합니다.
sudo docker volume create -d local-persist -o mountpoint=/mnt/ --name=extra-addons
기대한 결과가 나오는지 확인하려면 다음을 수행하세요.
sudo docker volume inspect extra-addons
결과:
[
{
"CreatedAt": "0001-01-01T00:00:00Z",
"Driver": "local-persist",
"Labels": {},
"Mountpoint": "/mnt/",
"Name": "extra-addons",
"Options": {
"mountpoint": "/mnt/"
},
"Scope": "local"
}
]
이것이 내가 찾고 있는 것입니다.
답변2
Docker에 플러그인을 설치하지 않으려면 볼륨에 대한 심볼릭 링크를 만드는 것이 좋습니다.
$ docker volume create <myVolume>
$ docker volume inspect <myVolume>
[
{
"CreatedAt": "0001-01-01T00:00:00Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/<myVolume>/_data",
"Name": "<myVolume>",
"Options": {},
"Scope": "local"
}
]
$ mkdir /mnt/<myVolume>
# if you already have data in your volume, you should copy it to `/mnt/<myVolume>` now
$ sudo rm -rf /var/lib/docker/volumes/<myVolume>/_data
$ sudo ln -s /mnt/<myVolume> /var/lib/docker/volumes/<myVolume>/_data
이제 평소처럼 볼륨을 자유롭게 사용할 수 있습니다(모든 데이터는 /mnt
원하는 대로 입력됨).
답변3
local-persist
나는 드라이버를 사용하는 것이 올바른 접근 방식이라고 생각하지 않습니다 . 한동안 업데이트가 없었습니다. docker mount를 사용하여 로컬(호스트) 디렉터리를 docker 컨테이너에 탑재할 수 있습니다.
다음 명령을 실행하면 설치 디렉터리가 내 데스크톱에 매핑된 새 컨테이너가 생성됩니다.
mkdir extra-addons
docker run -it -v /Users/me/Desktop/extra-addons:/mnt/extra-addons busybox /bin/sh
ls
mnt
이제 컨테이너 루트에 폴더가 표시됩니다.
bin dev etc home mnt proc root sys tmp usr var
컨테이너에 새 파일 만들기
touch /mnt/extra-addons/test.txt
내 호스트에 test.txt 파일을 만듭니다. 지정된 경로에서. 이제 이는 양방향 읽기/쓰기 공유 폴더입니다. 여러 컨테이너가 동일한 폴더를 마운트할 수 있습니다. 컨테이너를 닫으면 지속됩니다.