ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ื‘ืขื™ื™ืช ื”ื’ื™ืจื” ืฉืœ ืื—ืกื•ืŸ docker (ืฉื•ืจืฉ docker)

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

ืชื—ื™ืœืช ื”ืขื‘ื•ื“ื”:

1. ืขืฆื•ืจ ื•ื”ืจื•ื’ ืืช ื›ืœ ื”ืžื™ื›ืœื™ื ืฉืœ ื”ืืคืœื™ืงืฆื™ื” ืฉืœื ื•:

docker-compose down

ืื ื™ืฉ ื”ืจื‘ื” ืžื™ื›ืœื™ื ื•ื”ื ื‘ื”ืจื›ื‘ื™ื ืฉื•ื ื™ื, ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช:

docker rm -f $(docker ps -q)

2. ืขืฆื•ืจ ืืช ื“ืžื•ืŸ ื”ื“ื•ืงืจ:

systemctl stop docker

3. ื”ืขื‘ืจ ืืช ื”ืกืคืจื™ื™ื” ืœืžื™ืงื•ื ื”ืจืฆื•ื™:

cp -r /var/lib/docker /docker/data/storage

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

5. ื”ืคืขืœ ืืช ื“ืžื•ืŸ ื”ื“ื•ืงืจ ื•ื•ื“ื ืฉื”ื•ื ื ืจืื” ื‘ืžืงื•ื ื”ื ื›ื•ืŸ:

systemctl status docker

ื‘ืื—ื“ ืžืงื•ื•ื™ ื”ืคืœื˜ ืขืœื™ื ื• ืœืจืื•ืช:

โ”œโ”€19493 /usr/bin/dockerd --data-root=/docker/data/storage

ื•ื™ื“ืื ื• ืฉื”ืืคืฉืจื•ืช ื”ื•ืขื‘ืจื” ืœื“ืžื•ืŸ, ืขื›ืฉื™ื• ื‘ื•ืื• ื ื‘ื“ื•ืง ืื ื”ื™ื ื”ื—ืœื” ืื•ืชื” (ืชื•ื“ื” inkvizitor68sl)!

docker info | awk '/Root Dir/ {print $NF}' 

6. ื‘ื•ืื• ื ืชื—ื™ืœ ืืช ื”ื™ื™ืฉื•ื ืฉืœื ื•:

docker-compose up -d

7. ื‘ื“ื•ืง

ื•ื”ื ื” ืžืชื—ื™ืœ ื”ื›ื™ืฃ, DBMS, MQ, ื”ื›ืœ ื‘ืกื“ืจ! ืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœื, ื”ื›ืœ ืขื•ื‘ื“... ื—ื•ืฅ ืž-nginx. ื™ืฉ ืœื ื• ื‘ื ื™ื™ืช nginx ืžืฉืœื ื• ืขื Kerberos ื•ืงื•ืจื˜ื™ื–ื ื™ื•ืช. ื•ืฆืคื™ื™ื” ื‘ื™ื•ืžื ื™ ื”ืžืื’ืจ ืฆื™ื™ื ื” ืฉื”ื•ื ืœื ื™ื›ื•ืœ ืœื›ืชื•ื‘ ืœ-/var/tmp - ื”ื”ืจืฉืื” ื ื“ื—ืชื”. ืื ื™ ืœืฉื” ืืช ื”ืจืงื•ืช ื‘ืืฆื‘ืขื•ืชื™ื™ ื•ืžื ืกื” ืœื ืชื— ืืช ื”ืžืฆื‘... ืื™ืš ื–ื” ืืคืฉืจื™? ืชืžื•ื ืช Docker ืœื ื”ืฉืชื ืชื”. ื”ืจื’ืข ื”ืขื‘ืจื ื• ืืช ื”ืกืคืจื™ื™ื”. ื–ื” ืชืžื™ื“ ืขื‘ื“, ื•ื”ื ื” ื–ื” ื‘ืฉื‘ื™ืœื›ื... ืœืฆื•ืจืš ื”ื ื™ืกื•ื™, ื ื›ื ืกืชื™ ืขื ื”ื™ื“ื™ื™ื ืœืžื™ื›ืœ ื•ืฉื™ื ื™ืชื™ ืืช ื”ื–ื›ื•ื™ื•ืช ืœืžื“ืจื™ืš ื”ื–ื”, ื”ื™ื• ืฉื•ืจืฉ, ืฉื•ืจืฉ 755, ื ืชืŸ ืฉื•ืจืฉ, ืฉื•ืจืฉ 777. ื•ื”ื›ืœ ื”ืชื—ื™ืœ... ื”ืชื—ื™ืœื” ืœื”ื™ืฉืžืข ืžื—ืฉื‘ื” ื‘ืจืืฉื™ - ืื™ื–ื• ืฉื˜ื•ืช... ื—ืฉื‘ืชื™, ื˜ื•ื‘, ืื•ืœื™ ืœื ืœืงื—ืชื™ ื‘ื—ืฉื‘ื•ืŸ ืžืฉื”ื•...

ื”ื—ืœื˜ืชื™ ืฉื”ืชืื”ื‘ื ื• ื‘ื–ื›ื•ื™ื•ืช ื”ื’ื™ืฉื” ืœืงื‘ืฆื™ื ื‘ืžื”ืœืš ื”ื”ืขื‘ืจื”. ืขืฆืจื ื• ืืช ื”ื™ื™ืฉื•ื, ื”ื“ืžื•ืŸ docker, ืžื—ืงื ื• ืืช ื”ืกืคืจื™ื™ื” ื”ื—ื“ืฉื” ื•ื”ืขืชืงื ื• ืืช ืกืคืจื™ื™ืช /var/lib/docer ื‘ืืžืฆืขื•ืช rsync -a.

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

ืื”... ื”ื‘ืขื™ื” ื ืฉืืจื”... ื”ืขื™ืŸ ืฉืœื™ ื”ืชืขื•ื•ืชื”. ืžื™ื”ืจืชื™ ืœืงื•ื ืกื•ืœื” ืฉืœ ื”ืžื—ืฉื‘ ื”ื•ื™ืจื˜ื•ืืœื™ ืฉืœื™, ืฉื ืื ื™ ืžืจื™ืฅ ื‘ื“ื™ืงื•ืช ืฉื•ื ื•ืช, ื”ื™ื™ืชื” ืœื™ ืชืžื•ื ืช nginx ื–ื•, ื•ื˜ื™ืคืกืชื™ ื‘ืชื•ืš ื”ืงื•ื ื˜ื™ื™ื ืจ, ื•ื›ืืŸ ื”ื–ื›ื•ื™ื•ืช ืœืกืคืจื™ื™ืช /var/tmp ื”ืŸ root, root 777. ื›ืœื•ืžืจ, ื›ืžื• ืฉื”ื™ื™ืชื™ ืฆืจื™ืš ืœื”ื’ื“ื™ืจ ื™ื“ื ื™ืช. ืื‘ืœ ื”ืชืžื•ื ื•ืช ื–ื”ื•ืช!

ืžืขืจื›ืช ื”ืงื‘ืฆื™ื xfs ื”ื™ื™ืชื” ื‘ืฉื™ืžื•ืฉ ื‘ื›ืœ ืžืงื•ื.

ื”ืฉื•ื•ื™ืชื™ ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื”

docker inspect my-nginx:12345

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

ืื ื™ ื›ื‘ืจ ืœื ื–ื•ื›ืจ ืื™ืœื• ืžื—ืฉื‘ื•ืช ื”ื™ื• ื‘ืจืืฉื™, ื—ื•ืฅ ืžืœืฆืขื•ืง "AAAAAAAAAA" ื•ื“ื‘ืจื™ื ืื—ืจื™ื. ื”ืฉืขื” ื”ื™ื™ืชื” 4 ืœืคื ื•ืช ื‘ื•ืงืจ, ื•ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ Docker ืฉื™ืžืฉ ืœื”ื‘ื ืช ื”ืขื™ืงืจื•ืŸ ืฉืœ ื’ื™ื‘ื•ื‘ ืฉื›ื‘ื•ืช ืชืžื•ื ื”. ืคืชื— ืืช ืคื—ื™ืช ืžืฉืงื” ื”ืื ืจื’ื™ื” ื”ืฉืœื™ืฉื™ืช. ื•ื‘ืกื•ืฃ ื”ืชื—ื•ื•ืจ ืœื™ ืฉ-hashing ืจืง ืœื•ืงื— ื‘ื—ืฉื‘ื•ืŸ ืืช ื”ืงื•ื‘ืฅ, ืืช ื”ืชื•ื›ืŸ ืฉืœื•, ืื‘ืœ ืœื ื–ื›ื•ื™ื•ืช ื’ื™ืฉื”! ื›ืœื•ืžืจ, ื‘ื“ืจืš ืžืกืชื•ืจื™ืช ื›ืœืฉื”ื™ ื”ื–ื›ื•ื™ื•ืช ืฉืœื ื• ืื‘ื“ื•, selinux ืžื•ืฉื‘ืช, ืœื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-acl, ื•ืื™ืŸ ืงื˜ืข ื“ื‘ื™ืง.

ืžื—ืงืชื™ ืืช ื”ืชืžื•ื ื” ื”ืžืงื•ืžื™ืช, ืžื—ืงืชื™ ื’ื ืืช ื”ืชืžื•ื ื” ืžื”-docer registry ื•ื“ื—ืคืชื™ ืื•ืชื” ืฉื•ื‘. ื•ื”ื›ืœ ืขื‘ื“. ืžืกืชื‘ืจ ืฉื‘ืžื”ืœืš ื”ื”ืขื‘ืจื” ืื‘ื“ื• ื”ื–ื›ื•ื™ื•ืช, ื”ืŸ ื‘ืชื•ืš ื”ืชืžื•ื ื” ื”ืžืงื•ืžื™ืช ื•ื”ืŸ ื‘ืชื•ืš ื”ืชืžื•ื ื” ื”ืžื•ื ื—ืช ื‘ืจื™ืฉื•ื. ื›ืคื™ ืฉื›ื‘ืจ ืืžืจืชื™, ืžื›ืžื” ืกื™ื‘ื•ืช ื”ื•ื ื”ื™ื” ืžืžื•ืงื ืขืœ ืื•ืชื” ืžื›ื•ื ื™ืช. ื•ื›ืชื•ืฆืื” ืžื›ืš, ื‘ืกืคืจื™ื™ื” ืื—ืช /var/lib/docer.

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

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

ืชื•ืฆืื”: ืคืชืจืชื™ ืืช ื”ื‘ืขื™ื”, ืื ื™ ืขื“ื™ื™ืŸ ืœื ืžื‘ื™ืŸ ืืช ื”ืกื™ื‘ื” =(

ืื ืœืžื™ืฉื”ื• ื™ื•ื“ืข, ืžื ื—ืฉ, ื”ื™ื” ื—ื–ื•ืŸ ืœื’ื‘ื™ ื”ื’ื•ืจืžื™ื ื”ืืคืฉืจื™ื™ื ืœื‘ืขื™ื” ื–ื•, ืืฉืžื— ืžืื•ื“ ืœืฉืžื•ืข ืžื›ื ื‘ืชื’ื•ื‘ื•ืช!

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

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