ืœื™ืžื•ื“ Docker, ื—ืœืง 6: ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื

ื‘ื—ืœืง ื”ื™ื•ื ืฉืœ ื”ืชืจื’ื•ื ืฉืœ ืกื“ืจืช ื—ื•ืžืจื™ื ืขืœ Docker, ื ื“ื‘ืจ ืขืœ ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื. ื‘ืคืจื˜, ืขืœ ื›ืจื›ื™ื ืฉืœ Docker. ื‘ื—ื•ืžืจื™ื ืืœื• ื”ืฉื•ื•ื™ื ื• ื›ืœ ื”ื–ืžืŸ ื‘ื™ืŸ ืžื ื•ืขื™ ืชื•ื›ื ื” ืฉืœ Docker ืœื‘ื™ืŸ ืื ืœื•ื’ื™ื•ืช ืื›ื™ืœื” ืฉื•ื ื•ืช. ืืœ ืœื ื• ืœืกื˜ื•ืช ืžืžืกื•ืจืช ื–ื• ื’ื ื›ืืŸ. ืชืŸ ืœื ืชื•ื ื™ื ื‘-Docker ืœื”ื™ื•ืช ื”ืชื‘ืœื™ืŸ. ื™ืฉ ื”ืจื‘ื” ืกื•ื’ื™ื ืฉืœ ืชื‘ืœื™ื ื™ื ื‘ืขื•ืœื, ื•ื‘-Docker ื™ืฉ ื”ืจื‘ื” ื“ืจื›ื™ื ืœืขื‘ื•ื“ ืขื ื ืชื•ื ื™ื.

โ†’ ื—ืœืง 1: ื™ืกื•ื“ื•ืช
โ†’ ื—ืœืง 2: ืชื ืื™ื ื•ืžื•ืฉื’ื™ื
โ†’ ื—ืœืง 3: Dockerfiles
โ†’ ื—ืœืง 4: ื”ืงื˜ื ืช ื’ื“ืœื™ ืชืžื•ื ื•ืช ื•ื”ืืฆืช ื‘ื ื™ื™ืชืŸ
โ†’ ื—ืœืง 5: ืคืงื•ื“ื•ืช
โ†’ ื—ืœืง 6: ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื

ืœื™ืžื•ื“ Docker, ื—ืœืง 6: ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื

ืฉื™ืžื• ืœื‘ ืฉื—ื•ืžืจ ื–ื” ื”ื•ื›ืŸ ื‘ืืžืฆืขื•ืช ืžื ื•ืข Docker ื’ืจืกื” 18.09.1 โ€‹โ€‹ื•ื’ืจืกืช API 1.39.

ื ื™ืชืŸ ืœืื—ืกืŸ ื ืชื•ื ื™ื ื‘-Docker ื‘ืื•ืคืŸ ื–ืžื ื™ ืื• ืงื‘ื•ืข. ื ืชื—ื™ืœ ืขื ื ืชื•ื ื™ ื–ืžืŸ.

ืื—ืกื•ืŸ ื ืชื•ื ื™ื ื–ืžื ื™

ื‘ืงื•ื ื˜ื™ื™ื ืจื™ื ืฉืœ Docker, ืืชื” ื™ื›ื•ืœ ืœืืจื’ืŸ ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื ื–ืžื ื™ื™ื ื‘ืฉืชื™ ื“ืจื›ื™ื.

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืงื‘ืฆื™ื ืฉื ื•ืฆืจื• ืขืœ ื™ื“ื™ ื™ื™ืฉื•ื ื”ืคื•ืขืœ ื‘ืงื•ื ื˜ื™ื™ื ืจ ืžืื•ื—ืกื ื™ื ื‘ืฉื›ื‘ื” ื”ื ื™ืชื ืช ืœื›ืชื™ื‘ื” ืฉืœ ื”ืžื›ื•ืœื”. ื›ื“ื™ ืฉื”ืžื ื’ื ื•ืŸ ื”ื–ื” ื™ืขื‘ื•ื“, ืื™ืŸ ืฆื•ืจืš ืœื”ื’ื“ื™ืจ ืฉื•ื ื“ื‘ืจ ืžื™ื•ื—ื“. ื–ื” ื™ื•ืฆื ื–ื•ืœ ื•ืขืœื™ื–. ื”ืืคืœื™ืงืฆื™ื” ืคืฉื•ื˜ ืฆืจื™ื›ื” ืœืฉืžื•ืจ ืืช ื”ื ืชื•ื ื™ื ื•ืœื”ืžืฉื™ืš ืœืขืฉื•ืช ืืช ืฉืœื”. ืขื ื–ืืช, ืœืื—ืจ ืฉื”ืžื™ื›ืœ ื™ืคืกื™ืง ืœื”ืชืงื™ื™ื, ื’ื ื”ื ืชื•ื ื™ื ืฉื ืฉืžืจื• ื‘ืฆื•ืจื” ืคืฉื•ื˜ื” ื–ื• ื™ื™ืขืœืžื•.

ื™ืฉื ื• ืคืชืจื•ืŸ ื ื•ืกืฃ ืœืื—ืกื•ืŸ ืงื‘ืฆื™ื ื–ืžื ื™ื™ื ื‘-Docker, ื”ืžืชืื™ื ืœืžืงืจื™ื ื‘ื”ื ืฆืจื™ืš ืจืžืช ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื” ื™ื•ืชืจ ืœืขื•ืžืช ืžื” ืฉื ื™ืชืŸ ืœื”ืฉื™ื’ ื‘ืžื ื’ื ื•ืŸ ื”ืื—ืกื•ืŸ ื”ื–ืžื ื™ ื”ืกื˜ื ื“ืจื˜ื™. ืื ืื™ื ื›ื ืฆืจื™ื›ื™ื ืฉื”ื ืชื•ื ื™ื ืฉืœื›ื ื™ืื•ื—ืกื ื• ื–ืžืŸ ืจื‘ ื™ื•ืชืจ ืžืžื” ืฉืงื™ื™ื ื”ืงื•ื ื˜ื™ื™ื ืจ, ืชื•ื›ืœื• ืœื—ื‘ืจ tmpfs ืœืงื•ื ื˜ื™ื™ื ืจ - ืื—ืกื•ืŸ ืžื™ื“ืข ื–ืžื ื™ ื”ืžืฉืชืžืฉ ื‘-RAM ืฉืœ ื”ืžืืจื—. ื–ื” ื™ืื™ืฅ ืืช ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ื•ืงืจื™ืื” ืฉืœ ื ืชื•ื ื™ื.

ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืงื•ืจื” ืฉื™ืฉ ืœืื—ืกืŸ ื ืชื•ื ื™ื ื’ื ืœืื—ืจ ืฉื”ืžื™ื›ืœ ืžืคืกื™ืง ืœื”ืชืงื™ื™ื. ืœืฆื•ืจืš ื›ืš, ื ืฆื˜ืจืš ืžื ื’ื ื•ื ื™ื ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื ืžืชืžืฉืš.

ืื—ืกื•ืŸ ื ืชื•ื ื™ื ืžืชืžืฉืš

ื™ืฉื ืŸ ืฉืชื™ ื“ืจื›ื™ื ืœื”ืืจื™ืš ืืช ืื•ืจืš ื—ื™ื™ ื”ื ืชื•ื ื™ื ืžืืฉืจ ืžืฉืš ื—ื™ื™ ื”ืžื›ื•ืœื”. ื“ืจืš ืื—ืช ื”ื™ื ืœื”ืฉืชืžืฉ ื‘ื˜ื›ื ื•ืœื•ื’ื™ื™ืช bind mount. ืขื ื’ื™ืฉื” ื–ื•, ืืชื” ื™ื›ื•ืœ ืœืขืœื•ืช, ืœืžืฉืœ, ืชื™ืงื™ื™ื” ืžื”ื—ื™ื™ื ื”ืืžื™ืชื™ื™ื ืœืงื•ื ื˜ื™ื™ื ืจ. ืชื”ืœื™ื›ื™ื ื”ืžืžื•ืงืžื™ื ืžื—ื•ืฅ ืœ-Docker ื™ื•ื›ืœื• ืœืขื‘ื•ื“ ื’ื ืขื ื ืชื•ื ื™ื ื”ืžืื•ื—ืกื ื™ื ื‘ืชื™ืงื™ื™ื” ื›ื–ื•. ื”ื ื” ืื™ืš ืชืกืชื›ืœ ื˜ื›ื ื•ืœื•ื’ื™ื™ืช tmpfs mounting and bind mount.

ืœื™ืžื•ื“ Docker, ื—ืœืง 6: ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื
ื”ืจ tmpfs ื•-bind mount

ื”ื—ืกืจื•ื ื•ืช ืฉืœ ืฉื™ืžื•ืฉ ื‘ื˜ื›ื ื•ืœื•ื’ื™ื™ืช bind mount ื”ื ืฉื”ืฉื™ืžื•ืฉ ื‘ื” ืžืกื‘ืš ืืช ื’ื™ื‘ื•ื™ ื”ื ืชื•ื ื™ื, ื”ืขื‘ืจืช ื”ื ืชื•ื ื™ื ื•ืฉื™ืชื•ืฃ ื”ื ืชื•ื ื™ื ื‘ื™ืŸ ืงื•ื ื˜ื™ื™ื ืจื™ื ืžืจื•ื‘ื™ื. ื”ืจื‘ื” ื™ื•ืชืจ ื˜ื•ื‘ ืœื”ืฉืชืžืฉ ื‘ื ืคื—ื™ Docker ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื ืžืชืžืฉืš.

ื›ืจื›ื™ื ืฉืœ ื“ื•ืงืจ

ืืžืฆืขื™ ืื—ืกื•ืŸ ื”ื•ื ืžืขืจื›ืช ืงื‘ืฆื™ื ื”ืฉื•ื›ื ืช ืขืœ ืžื—ืฉื‘ ืžืืจื— ืžื—ื•ืฅ ืœืงื•ื ื˜ื™ื™ื ืจื™ื. Docker ื™ื•ืฆืจ ื•ืžื ื”ืœ ืืžืฆืขื™ ืื—ืกื•ืŸ. ืœื”ืœืŸ ื”ืžืืคื™ื™ื ื™ื ื”ืขื™ืงืจื™ื™ื ืฉืœ ื›ืจื›ื™ื ืฉืœ Docker:

  • ื”ื ืืžืฆืขื™ ืœืื—ืกื•ืŸ ืžื™ื“ืข ืœืฆืžื™ืชื•ืช.
  • ื”ื ืขืฆืžืื™ื™ื ื•ืžื•ืคืจื“ื™ื ืžืžื›ื•ืœื•ืช.
  • ื ื™ืชืŸ ืœื—ืœื•ืง ืื•ืชื ื‘ื™ืŸ ืžื™ื›ืœื™ื ืฉื•ื ื™ื.
  • ื”ื ืžืืคืฉืจื™ื ืœืš ืœืืจื’ืŸ ืงืจื™ืื” ื•ื›ืชื™ื‘ื” ื™ืขื™ืœื” ืฉืœ ื ืชื•ื ื™ื.
  • ื ื™ืชืŸ ืœืืจื— ื›ืจื›ื™ื ื‘ืžืฉืื‘ื™ื ืฉืœ ืกืคืง ืขื ืŸ ืžืจื•ื—ืง.
  • ื”ื ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืžื•ืฆืคื ื™ื.
  • ืืคืฉืจ ืœืชืช ืœื”ื ืฉืžื•ืช.
  • ื”ืงื•ื ื˜ื™ื™ื ืจ ื™ื›ื•ืœ ืœืืจื’ืŸ ืืช ื ืคื— ื”ืื—ืกื•ืŸ ื‘ื ืชื•ื ื™ื ืžืจืืฉ.
  • ื”ื ื ื•ื—ื™ื ืœื‘ื“ื™ืงื”.

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ืœื›ืจื›ื™ื ืฉืœ Docker ื™ืฉ ื›ืžื” ืžืืคื™ื™ื ื™ื ื ื”ื“ืจื™ื. ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ืื™ืš ืœื™ืฆื•ืจ ืื•ืชื.

ื™ืฆื™ืจืช ื ืคื—ื™ื

ื ื™ืชืŸ ืœื™ืฆื•ืจ ื ืคื—ื™ื ื‘ืืžืฆืขื•ืช Docker ืื• ื‘ืืžืฆืขื•ืช ื‘ืงืฉื•ืช API.

ื”ื ื” ื”ื•ืจืื” ืฉืœ Dockerfile ื”ืžืืคืฉืจืช ืœืš ืœื™ืฆื•ืจ ืืžืฆืขื™ ืื—ืกื•ืŸ ื›ืืฉืจ ื”ืžื™ื›ืœ ืžืชื—ื™ืœ.

VOLUME /my_volume

ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื”ื•ืจืื” ื›ื–ื•, Docker, ืœืื—ืจ ื™ืฆื™ืจืช ื”ืงื•ื ื˜ื™ื™ื ืจ, ืชื™ืฆื•ืจ ื ืคื— ื”ืžื›ื™ืœ ืืช ื”ื ืชื•ื ื™ื ืฉื›ื‘ืจ ืงื™ื™ืžื™ื ื‘ืžื™ืงื•ื ืฉืฆื•ื™ืŸ. ืฉื™ื ืœื‘ ืฉืื ืืชื” ื™ื•ืฆืจ ืืžืฆืขื™ ืื—ืกื•ืŸ ื‘ืืžืฆืขื•ืช Dockerfile, ื–ื” ืœื ืคื•ืชืจ ืื•ืชืš ืžื”ืฆื•ืจืš ืœืฆื™ื™ืŸ ื ืงื•ื“ืช ื”ืจื›ื‘ื” ืขื‘ื•ืจ ืืžืฆืขื™ ื”ืื—ืกื•ืŸ.

ืืชื” ื™ื›ื•ืœ ื’ื ืœื™ืฆื•ืจ ืืžืฆืขื™ ืื—ืกื•ืŸ ื‘-Dockerfile ื‘ืืžืฆืขื•ืช ืคื•ืจืžื˜ JSON.

ื‘ื ื•ืกืฃ, ื ื™ืชืŸ ืœื™ืฆื•ืจ ืืžืฆืขื™ ืื—ืกื•ืŸ ื‘ืืžืฆืขื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” ื‘ื–ืžืŸ ืฉื”ืžื›ืœ ืคื•ืขืœ.

ืขื‘ื•ื“ื” ืขื ืืžืฆืขื™ ืื—ืกื•ืŸ ืžืฉื•ืจืช ื”ืคืงื•ื“ื”

โ–ื™ืฆื™ืจืช ื ืคื—

ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืืžืฆืขื™ ืื—ืกื•ืŸ ืขืฆืžืื™ ืขื ื”ืคืงื•ื“ื” ื”ื‘ืื”:

docker volume create โ€”-name my_volume

โ–ื’ืœื” ืžื™ื“ืข ืขืœ ื ืคื—ื™ื

ื›ื“ื™ ืœื”ืฆื™ื’ ืจืฉื™ืžื” ืฉืœ ืืžืฆืขื™ ืื—ืกื•ืŸ ืฉืœ Docker, ื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” ื”ื‘ืื”:

docker volume ls

ืืชื” ื™ื›ื•ืœ ืœื—ืงื•ืจ ื ืคื— ืกืคืฆื™ืคื™ ื›ืžื• ื–ื”:

docker volume inspect my_volume

โ–ืžื—ื™ืงืช ืืžืฆืขื™ ืื—ืกื•ืŸ

ืืชื” ื™ื›ื•ืœ ืœืžื—ื•ืง ื ืคื— ื›ืžื• ื–ื”:

docker volume rm my_volume

ืขืœ ืžื ืช ืœืžื—ื•ืง ืืช ื›ืœ ืืžืฆืขื™ ื”ืื—ืกื•ืŸ ืฉืื™ื ื ื‘ืฉื™ืžื•ืฉ ืขืœ ื™ื“ื™ ืงื•ื ื˜ื™ื™ื ืจื™ื, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” ื”ื‘ืื”:

docker volume prune

ืœืคื ื™ ืžื—ื™ืงืช ืืžืฆืขื™ ืื—ืกื•ืŸ, Docker ื™ื‘ืงืฉ ืžืžืš ืœืืฉืจ ืคืขื•ืœื” ื–ื•.

ืื ืืžืฆืขื™ ืื—ืกื•ืŸ ืžืฉื•ื™ืš ืœืžื™ื›ืœ, ืœื ื ื™ืชืŸ ืœืžื—ื•ืง ืืช ืืžืฆืขื™ ื”ืื—ืกื•ืŸ ืขื“ ืœืžื—ื™ืงืช ื”ื›ืœื™ ื”ืžืชืื™ื. ื™ื—ื“ ืขื ื–ืืช, ื’ื ืื ื”ืงื•ื ื˜ื™ื™ื ืจ ื ืžื—ืง, Docker ืœื ืชืžื™ื“ ืžื‘ื™ืŸ ื–ืืช. ืื ื–ื” ืงื•ืจื”, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” ื”ื‘ืื”:

docker system prune

ื–ื” ื ื•ืขื“ ืœื ืงื•ืช ืžืฉืื‘ื™ Docker. ืœืื—ืจ ื”ืคืขืœืช ืคืงื•ื“ื” ื–ื•, ืืชื” ืืžื•ืจ ืœื”ื™ื•ืช ืžืกื•ื’ืœ ืœืžื—ื•ืง ืืžืฆืขื™ ืื—ืกื•ืŸ ืฉื”ืกื˜ื˜ื•ืก ืฉืœื”ื ื ืงื‘ืข ื‘ืขื‘ืจ ื‘ืื•ืคืŸ ืฉื’ื•ื™.

ื“ื’ืœื™ --mount ื• --volume

ื›ื“ื™ ืœืขื‘ื•ื“ ืขื ืืžืฆืขื™ ืื—ืกื•ืŸ ืืชื”, ื‘ืขืช ืงืจื™ืืช ื”ืคืงื•ื“ื” docker, ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืชืฆื˜ืจืš ืœื”ืฉืชืžืฉ ื‘ื“ื’ืœื™ื. ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœื™ืฆื•ืจ ืืžืฆืขื™ ืื—ืกื•ืŸ ื‘ืžื”ืœืš ื™ืฆื™ืจืช ืžื™ื›ืœ, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืžื‘ื ื” ื”ื‘ื:

docker container run --mount source=my_volume, target=/container/path/for/volume my_image

ื‘ื™ืžื™ ืงื“ื (ืขื“ 2017), ื”ื“ื’ืœ ื”ื™ื” ืคื•ืคื•ืœืจื™ --volume. ื‘ืชื—ื™ืœื”, ื”ื“ื’ืœ ื”ื–ื” (ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ื• ื’ื ื‘ืฆื•ืจื” ืžืงื•ืฆืจืช, ื•ืื– ื–ื” ื ืจืื” ื›ืžื• -v) ืฉื™ืžืฉ ืขื‘ื•ืจ ืžื›ื•ืœื•ืช ืขืฆืžืื™ื•ืช, ื•ื”ื“ื’ืœ --mount - ื‘ืกื‘ื™ื‘ืช Docker Swarm. ืขื ื–ืืช, ื”ื—ืœ ืž-Docker 17.06, ื”ื“ื’ืœ --mount ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื›ืœ ืชืจื—ื™ืฉ.

ื™ืฉ ืœืฆื™ื™ืŸ ื›ื™ ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื“ื’ืœ --mount ื›ืžื•ืช ื”ื ืชื•ื ื™ื ื”ื ื•ืกืคื™ื ืฉื™ืฉ ืœืฆื™ื™ืŸ ื‘ืคืงื•ื“ื” ื’ื“ืœื”, ืืš, ืžื›ืžื” ืกื™ื‘ื•ืช, ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ ื‘ื“ื’ืœ ื–ื” ื‘ืžืงื•ื --volume. ื“ึถื’ึถืœ --mount - ื–ื”ื• ื”ืžื ื’ื ื•ืŸ ื”ื™ื—ื™ื“ ืฉืžืืคืฉืจ ืœืš ืœืขื‘ื•ื“ ืขื ืฉื™ืจื•ืชื™ื ืื• ืœืฆื™ื™ืŸ ืคืจืžื˜ืจื™ื ืฉืœ ืžื ื”ืœ ื”ืชืงืŸ ื ืคื—. ื‘ื ื•ืกืฃ, ืงืœ ื™ื•ืชืจ ืœืขื‘ื•ื“ ืขื ื”ื“ื’ืœ ื”ื–ื”.

ื‘ื“ื•ื’ืžืื•ืช ืงื™ื™ืžื•ืช ืฉืœ ืคืงื•ื“ื•ืช ืฉืžื˜ืจืชืŸ ืœืขื‘ื•ื“ ืขื ื ืชื•ื ื™ื ื‘-Docker, ื ื™ืชืŸ ืœืžืฆื•ื ื“ื•ื’ืžืื•ืช ืจื‘ื•ืช ืœืฉื™ืžื•ืฉ ื‘ื“ื’ืœ -v. ื›ืฉืืชื” ืžื ืกื” ืœื”ืชืื™ื ืืช ื”ืคืงื•ื“ื•ืช ื”ืืœื” ืœืขืฆืžืš, ื–ื›ื•ืจ ืฉื–ื” ืžืกืžืŸ --mount ะธ --volume ื”ืฉืชืžืฉ ื‘ืคื•ืจืžื˜ื™ื ืฉื•ื ื™ื ืฉืœ ืคืจืžื˜ืจื™ื. ื›ืœื•ืžืจ, ืื™ ืืคืฉืจ ืคืฉื•ื˜ ืœื”ื—ืœื™ืฃ -v ืขืœ --mount ื•ืœืงื‘ืœ ืฆื•ื•ืช ืขื•ื‘ื“.

ื”ื”ื‘ื“ืœ ื”ืขื™ืงืจื™ ื‘ื™ืŸ --mount ะธ --volume ื–ื” ื›ืฉืžืฉืชืžืฉื™ื ื‘ื“ื’ืœ --volume ื›ืœ ื”ืคืจืžื˜ืจื™ื ื ืืกืคื™ื ื™ื—ื“ ื‘ืฉื“ื” ืื—ื“, ื•ื›ืืฉืจ ื ืขืฉื” ื‘ื”ื ืฉื™ืžื•ืฉ --mount ื”ืคืจืžื˜ืจื™ื ืžื•ืคืจื“ื™ื.

ื›ืฉืขื•ื‘ื“ื™ื ืขื --mount ืคืจืžื˜ืจื™ื ืžื™ื•ืฆื’ื™ื ื›ืฆืžื“ื™ ืžืคืชื—-ืขืจืš, ื›ืœื•ืžืจ, ื–ื” ื ืจืื” ื›ืžื• key=value. ื–ื•ื’ื•ืช ืืœื• ืžื•ืคืจื“ื™ื ื‘ืคืกื™ืงื™ื. ืœื”ืœืŸ ื”ืืคืฉืจื•ื™ื•ืช ื”ื ืคื•ืฆื•ืช --mount:

  • type - ืกื•ื’ ื”ืจื›ื‘ื”. ื”ืขืจืš ืขื‘ื•ืจ ื”ืžืคืชื— ื”ืžืชืื™ื ื™ื›ื•ืœ ืœื”ื™ื•ืช ืœืื’ื“, ื›ึผึถืจึถืš ืื• tmpfs. ืื ื—ื ื• ืžื“ื‘ืจื™ื ื›ืืŸ ืขืœ ื›ืจื›ื™ื, ื›ืœื•ืžืจ ืžืชืขื ื™ื™ื ื™ื ื‘ืžืฉืžืขื•ืช volume.
  • source - ืžืงื•ืจ ื”ืจ. ืขื‘ื•ืจ ื›ืจื›ื™ื ื‘ืขืœื™ ืฉื, ื–ื”ื• ืฉื ื”ื›ืจืš. ืขื‘ื•ืจ ืืžืฆืขื™ ืื—ืกื•ืŸ ืœืœื ืฉื ืžืคืชื— ื–ื” ืื™ื ื• ืžืฆื•ื™ืŸ. ื ื™ืชืŸ ืœืงืฆืจ ืœ src.
  • destination - ื”ื ืชื™ื‘ ืฉืืœื™ื• ืžื•ืชืงืŸ ื”ืงื•ื‘ืฅ ืื• ื”ืชื™ืงื™ื” ื‘ืžื™ื›ืœ. ื ื™ืชืŸ ืœืงืฆืจ ืืช ื”ืžืคืชื— ื”ื–ื” ืœ dst ืื• target.
  • readonly - ืžืขืœื” ืืช ื”ื ืคื— ื”ืžื™ื•ืขื“ ืจืง ืœืงืจื™ืื”. ืžืคืชื— ื–ื” ื”ื•ื ืื•ืคืฆื™ื•ื ืœื™ ื•ืื™ืŸ ืœื• ืขืจืš ืฉื”ื•ืงืฆื” ืœื•.

ื”ื ื” ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ --mount ืขื ื”ืจื‘ื” ืคืจืžื˜ืจื™ื:

docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image

ืชื•ืฆืื•ืช ืฉืœ

ืœื”ืœืŸ ื›ืžื” ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช ื‘ื”ืŸ ืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ืขืช ืขื‘ื•ื“ื” ืขื ืืžืฆืขื™ ืื—ืกื•ืŸ ืฉืœ Docker:

  • docker volume create
  • docker volume ls
  • docker volume inspect
  • docker volume rm
  • docker volume prune

ืœื”ืœืŸ ืจืฉื™ืžื” ืฉืœ ืคืจืžื˜ืจื™ื ื ืคื•ืฆื™ื ืขื‘ื•ืจ --mount, ื™ืฉื™ื ื‘ืคืงื•ื“ื” ื›ืžื• docker run --mount my_options my_image:

  • type=volume
  • source=volume_name
  • destination=/path/in/container
  • readonly

ื›ืขืช, ืœืื—ืจ ืฉืกื™ื™ืžื ื• ืืช ืกื“ืจืช ื”ื“ื•ืงืจ ื”ื–ื•, ื”ื’ื™ืข ื”ื–ืžืŸ ืœื•ืžืจ ื›ืžื” ืžื™ืœื™ื ืขืœ ืœืืŸ ื™ื•ื›ืœื• ืœื•ืžื“ื™ Docker ืœืœื›ืช. ื›ืืŸ ืžืืžืจ ื˜ื•ื‘ ื ื”ื“ืจ ืขืœ Docker. ื›ืืŸ ืกืคืจ ืขืœ Docker (ื›ืืฉืจ ืืชื” ืงื•ื ื” ืกืคืจ ื–ื”, ื ืกื” ืœื”ืฉื™ื’ ืืช ื”ืžื”ื“ื•ืจื” ื”ืขื“ื›ื ื™ืช ื‘ื™ื•ืชืจ). ื›ืืŸ ืกืคืจ ื ื•ืกืฃ ืฉืžืชืื™ื ืœืžื™ ืฉืžืืžื™ืŸ ืฉืชืจื’ื•ืœ ื”ื•ื ื”ื“ืจืš ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ืœืœืžื•ื“ ื˜ื›ื ื•ืœื•ื’ื™ื”.

ืงื•ืจืื™ื ื™ืงืจื™ื! ืื™ืœื• ื—ื•ืžืจื™ื ืขืœ Docker ื”ื™ื™ืช ืžืžืœื™ืฅ ืœืžืชื—ื™ืœื™ื ืœืœืžื•ื“?

ืœื™ืžื•ื“ Docker, ื—ืœืง 6: ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”