두 개의 폴더 /etc/php
와 컨테이너 /var/www
의 내용을 저장하는 데 사용하려는 두 개의 볼륨을 만들었습니다.
$ docker volume create dvwa_etcphp
$ docker volume create dvwa_www
컨테이너가 있고 다음을 사용하여 실행합니다.
docker run --rm -it -p 80:80 vulnerables/web-dvwa --name dvwatest \
--mount type=volume,source=dvwa_www,target=/var/www \
--mount type=volume,source=dvwa_etcphp,tagret=/etc/php
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c700546a86b7 vulnerables/web-dvwa "/main.sh --name dvw…" 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp quirky_hawking
하지만 내가 이렇게 하면:
$ docker inspect c70
그것은 나에게 제공합니다 (나는 나에게 중복되는 모든 것을 제거했습니다):
[
{
"Id": "c700546a86b74de5f2f941ee92fd72406e2a29e2e06ca85532658d1fa6ddbae5",
"Created": "2020-01-22T13:36:23.976013357Z",
"Path": "/main.sh",
"Args": [
"--name",
"dvwatest",
"--mount",
"type=volume,source=dvwa_www,target=/var/www",
"--mount",
"type=volume,source=dvwa_etcphp,tagret=/etc/php"
],
"Name": "/quirky_hawking",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"VolumeDriver": "",
"VolumesFrom": null,
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "c700546a86b7",
},
"Cmd": [
"--name",
"dvwatest",
"--mount",
"type=volume,source=dvwa_www,target=/var/www",
"--mount",
"type=volume,source=dvwa_etcphp,tagret=/etc/php"
],
"Image": "vulnerables/web-dvwa",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": [
"/main.sh"
],
"OnBuild": null,
"Labels": {
"maintainer": "[email protected]"
}
},
}
]
볼륨을 사용하여 두 폴더에 변경 사항을 저장하고 싶습니다: /etc/php
및 /var/www
. 컨테이너를 중지하고 새 컨테이너를 실행할 때 편집된 구성 파일과 함께 이 두 볼륨을 사용하고 싶습니다.
도커 버전은 19.03.2입니다.
감사합니다!
답변1
다음 형식으로 생성해 볼 수 있습니다.
docker run -it --mount type=volume,src=<VOLUME-NAME>,dst=<CONTAINER-PATH> --mount type=volume,src=<VOLUME-NAME>,dst=<CONTAINER-PATH> -p host_port:container_port --name myservice <IMAGE>
편집하다:Create 명령이 편집됨
위의 내용은 저에게 효과적입니다.
docker run -ti --mount type=volume,src=cust_vol2,dst=/cust_vol2 --mount type=volume,src=cust_vol1,dst=/cust_vol1 -p 8024:8024 --name mycontainer centos
$docker inspect mycontainer
"Mounts": [
{
"Type": "volume",
"Source": "cust_vol2",
"Target": "/cust_vol2"
},
{
"Type": "volume",
"Source": "cust_vol1",
"Target": "/cust_vol1"
}
]
가능한 경우 자세한 출력을 제공합니다.