ЁЯР│ Docker
Docker рдПрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдкреГрдердХ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИред рдпрд╣ рдЪреАрдЯ рд╢реАрдЯ рдЗрдореЗрдЬ, рдХрдВрдЯреЗрдирд░, рдиреЗрдЯрд╡рд░реНрдХ, рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕рд╛рде-рд╕рд╛рде Docker Compose рдФрд░ Swarm рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреА рд╣реИред
ЁЯУж рдмреБрдирд┐рдпрд╛рджреА рдХрдорд╛рдВрдб
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker | рдореБрдЦреНрдп Docker CLI рдХрдорд╛рдВрдб, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдмрдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдФрд░ рдХрдВрдЯреЗрдирд░, рдЗрдореЗрдЬ, рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╡реЙрд▓реНрдпреВрдо рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ | |
| docker version | рдЗрдВрд╕реНрдЯреЙрд▓ рдХреА рдЧрдИ Docker рд╕рдВрд╕реНрдХрд░рдг (рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░) рджрд┐рдЦрд╛рдПрдБред рд╕реНрдерд╛рдкрдирд╛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА | |
| docker version --format '{{.Client.APIVersion}}' | рдХреЗрд╡рд▓ Docker рдХреНрд▓рд╛рдЗрдВрдЯ API рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдПрдБ | |
| docker version --format '{{.Server.Version}}' | рдХреЗрд╡рд▓ Docker рд╕рд░реНрд╡рд░ (Engine) рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдПрдБ | |
| docker version --format '{{json .}}' | рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдПрдБ | |
| docker system info | Docker рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рдПрдБ: рдХрдВрдЯреЗрдирд░, рдЗрдореЗрдЬ, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ | |
| docker info | Docker рдбреЗрдЯрд╛ рджрд┐рдЦрд╛рдПрдБ: рд╕рдВрд╕реНрдХрд░рдг, рдиреЗрдЯрд╡рд░реНрдХ, рдХрдВрдЯреЗрдирд░ рдФрд░ рдЗрдореЗрдЬ рдХреА рд╕рдВрдЦреНрдпрд╛ | |
| docker info --format '{{json .}}' | рдЬрд╛рдирдХрд╛рд░реА JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ тАФ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА | |
| docker info --format '{{.NCPU}} CPUs, {{.MemTotal}} bytes RAM' | CPU рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдХреБрд▓ рдореЗрдореЛрд░реА рджрд┐рдЦрд╛рдПрдБ | |
| docker info --format '{{.Driver}}' | Docker рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реНрдЯреЛрд░реЗрдЬ рдбреНрд░рд╛рдЗрд╡рд░ рджрд┐рдЦрд╛рдПрдБ | |
| docker image pull | Docker Hub рдпрд╛ рдЕрдиреНрдп рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдЗрдореЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рдХрдВрдЯреЗрдирд░ рдЗрдореЗрдЬ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддреЗ | |
| docker pull ubuntu | рдирд╡реАрдирддрдо рдЙрдкрд▓рдмреНрдз Ubuntu рдЗрдореЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ | |
| docker pull nginx:alpine | Alpine Linux рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣рд▓реНрдХреА Nginx рдЗрдореЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ | |
| docker pull redis:7 | Redis рдЗрдореЗрдЬ рд╕рдВрд╕реНрдХрд░рдг 7 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ | |
| docker container run | рдХрд┐рд╕реА рдЗрдореЗрдЬ рд╕реЗ рдирдпрд╛ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдБ рдФрд░ рдЪрд▓рд╛рдПрдБ | |
| docker run -it ubuntu bash | рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ Bash рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рд╕рд╛рде Ubuntu рдЪрд▓рд╛рдПрдБ | |
| docker run -d nginx | Nginx рдХреЛ detached (рдкреГрд╖реНрдарднреВрдорд┐) рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рдПрдБ | |
| docker run -p 8080:80 nginx | Nginx рдЪрд▓рд╛рдПрдБ рдФрд░ рдХрдВрдЯреЗрдирд░ рдкреЛрд░реНрдЯ 80 рдХреЛ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ 8080 рд╕реЗ рдмрд╛рдБрдзреЗрдВ | |
| docker container ls | рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдБ | |
| docker ps | рдХреЗрд╡рд▓ рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рджрд┐рдЦрд╛рдПрдБ | |
| docker ps -a | рд╕рднреА рдХрдВрдЯреЗрдирд░ рджрд┐рдЦрд╛рдПрдБ, рдЬрд┐рдирдореЗрдВ рд░реБрдХреЗ рд╣реБрдП рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ | |
| docker ps --format '{{.Names}}' | рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░ рдирд╛рдо рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ | |
| docker container start | рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд░реБрдХреЗ рд╣реБрдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker start container_name | рдирд╛рдо рджреНрд╡рд╛рд░рд╛ рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker start $(docker ps -aq) | рд╕рднреА рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker start -ai container_name | рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЯрд░реНрдорд┐рдирд▓ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ | |
| docker container stop | рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рд░реЛрдХреЗрдВ | |
| docker stop container_name | рдирд╛рдо рджреНрд╡рд╛рд░рд╛ рдХрдВрдЯреЗрдирд░ рд░реЛрдХреЗрдВ | |
| docker stop $(docker ps -q) | рд╕рднреА рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рд░реЛрдХреЗрдВ | |
| docker stop -t 5 container_name | рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 5 рд╕реЗрдХрдВрдб рджреЗрдВ рдФрд░ рдлрд┐рд░ рд░реЛрдХреЗрдВ | |
| docker container restart | рдХрдВрдЯреЗрдирд░ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker restart container_name | рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker restart $(docker ps -q) | рд╕рднреА рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker restart -t 10 container_name | 10 рд╕реЗрдХрдВрдб рдХреА рджреЗрд░реА рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker container rm | рдХрдВрдЯреЗрдирд░ рд╣рдЯрд╛рдПрдБ | |
| docker rm container_name | рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реБрдХрд╛ рд╣реБрдЖ рдХрдВрдЯреЗрдирд░ рд╣рдЯрд╛рдПрдБ | |
| docker rm $(docker ps -aq) | рд╕рднреА рд░реБрдХреЗ рд╣реБрдП рдХрдВрдЯреЗрдирд░ рд╣рдЯрд╛рдПрдБ | |
| docker rm -f container_name | рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рдмрд▓рдкреВрд░реНрд╡рдХ рд╣рдЯрд╛рдПрдБ | |
| docker image ls | рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдЗрдореЗрдЬ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ | |
| docker images | рд╣реЛрд╕реНрдЯ рдкрд░ рд╕рднреА рдЗрдореЗрдЬ рджрд┐рдЦрд╛рдПрдБ | |
| docker images -a | рд╕рднреА рдЗрдореЗрдЬ рджрд┐рдЦрд╛рдПрдБ, рдЬрд┐рдирдореЗрдВ рдордзреНрдпрд╡рд░реНрддреА рд▓реЗрдпрд░реНрд╕ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ | |
| docker images --format '{{.Repository}}:{{.Tag}}' | рдХреЗрд╡рд▓ рдЗрдореЗрдЬ рдирд╛рдо рдФрд░ рдЯреИрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ | |
| docker image rm | рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЧреНрд░рд╣рдг рд╕реЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЗрдореЗрдЬ рд╣рдЯрд╛рдПрдБ | |
| docker rmi test1:latest | рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА  | |
| docker rmi 1a2b3c4d5e6f | рдЗрдореЗрдЬ рдХреЛ рдЙрд╕рдХреЗ ID рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛рдПрдБ | |
| docker rmi $(docker images -q) | рд╕рднреА рдЗрдореЗрдЬ рд╣рдЯрд╛рдПрдБ (рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ!) | 
ЁЯФБ рдХрдВрдЯреЗрдирд░ рдкреНрд░рдмрдВрдзрди
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker container exec | рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ | |
| docker exec -it container bash | 
 | |
| docker exec container ls /app | рдХрдВрдЯреЗрдирд░ рдХреЗ  | |
| docker exec -d container touch /tmp/testfile | рдХрдВрдЯреЗрдирд░ рдореЗрдВ detached рдореЛрдб рдореЗрдВ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ (рдмрд┐рдирд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рдП) | |
| docker container logs | рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ рджреЗрдЦреЗрдВ | |
| docker logs container | 
 | |
| docker logs -f container | рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдлрд╝реЙрд▓реЛ рдХрд░реЗрдВ | |
| docker logs --tail 50 container | рд▓реЙрдЧ рдХреА рдЕрдВрддрд┐рдо 50 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рджрд┐рдЦрд╛рдПрдБ | |
| docker inspect | рдХрдВрдЯреЗрдирд░ рдпрд╛ рдЗрдореЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд JSON рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ | |
| docker inspect container | 
 | |
| docker inspect --format '{{.NetworkSettings.IPAddress}}' container | рдХрдВрдЯреЗрдирд░ рдХрд╛ IP рдкрддрд╛ рджрд┐рдЦрд╛рдПрдБ | |
| docker container stats | рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЖрдБрдХрдбрд╝реЗ рджрд┐рдЦрд╛рдПрдБ | |
| docker stats | рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП CPU, рдореЗрдореЛрд░реА, рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ рджрд┐рдЦрд╛рдПрдБ | |
| docker stats container_name | рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЖрдБрдХрдбрд╝реЗ рджрд┐рдЦрд╛рдПрдБ | |
| docker stats --no-stream | рдПрдХ рдмрд╛рд░ рдХрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рджрд┐рдЦрд╛рдПрдБ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ | |
| docker container rename | рдХрдВрдЯреЗрдирд░ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ | |
| docker rename old_name new_name | 
 | |
| docker container cp | рдХрдВрдЯреЗрдирд░ рдФрд░ рд╣реЛрд╕реНрдЯ рдХреЗ рдмреАрдЪ рдлрд╝рд╛рдЗрд▓реЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ | |
| docker cp container:/src/file.txt ./file.txt | рдХрдВрдЯреЗрдирд░ рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╣реЛрд╕реНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЙрдкреА рдХрд░реЗрдВ | |
| docker cp ./config.yaml container:/app/config.yaml | рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЙрдкреА рдХрд░реЗрдВ | |
| docker cp CONTAINER:/var/logs/app.log - | tar x -O | grep "ERROR" | рдХрдВрдЯреЗрдирд░ рд╕реЗ рд▓реЙрдЧ рд╕реНрдЯреНрд░реАрдо рдХрд░реЗрдВ рдФрд░ тАЬERRORтАЭ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ (рдбрд┐рд╕реНрдХ рдкрд░ рд╕рд╣реЗрдЬреЗ рдмрд┐рдирд╛) | |
| docker container top | рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рджрд┐рдЦрд╛рдПрдБ | |
| docker top container | 
 | |
| docker container pause | рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рд░реЛрдХреЗрдВ | |
| docker pause container | 
 | |
| docker container unpause | рд░реБрдХреЗ рд╣реБрдП рдХрдВрдЯреЗрдирд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker unpause container | 
 | |
| docker container update | рдХрдВрдЯреЗрдирд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ | |
| docker update --memory 500m container | рдХрдВрдЯреЗрдирд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ 500 MB рддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдВ | 
ЁЯз▒ рдЗрдореЗрдЬ рдФрд░ Dockerfile
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker buildx build | Dockerfile рд╕реЗ Docker рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ | |
| docker build -t my_image . | рд╡рд░реНрддрдорд╛рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реЗ  | |
| docker build -t my_image:1.0 . | 
 | |
| docker build --no-cache -t my_image . | рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ | |
| docker container commit | рдХрдВрдЯреЗрдирд░ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ | |
| docker commit container my_img:v1 | 
 | |
| docker commit -m "Added config" container my_img:v2 | рдХрдорд┐рдЯ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ | |
| docker commit -a "John Doe" container my_img:latest | рд▓реЗрдЦрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ | |
| docker image tag | рдЗрдореЗрдЬ рдЯреИрдЧ рдЬреЛрдбрд╝реЗрдВ рдпрд╛ рдмрджрд▓реЗрдВ | |
| docker tag my_image myrepo/my_image:latest | рд░рдЬрд┐рд╕реНрдЯреНрд░реА  | |
| docker tag my_image:1.0 my_image:stable | 
 | |
| docker tag my_image my_image:backup | рд╕реНрдерд╛рдиреАрдп рдЗрдореЗрдЬ рдореЗрдВ  | |
| docker image push | Docker Hub рдпрд╛ рдЕрдиреНрдп рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрд░ рдЗрдореЗрдЬ рдкреБрд╢ рдХрд░реЗрдВ | |
| docker push myrepo/my_image:latest | 
 | |
| docker push myrepo/my_image:1.0 | 
 | |
| docker push myrepo/my_image | рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреИрдЧ  | |
| docker login | Docker Hub рдпрд╛ рдЕрдиреНрдп рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░реЗрдВ | |
| docker login | Docker Hub рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВ | |
| docker login myregistry.local:5000 | рдирд┐рдЬреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд▓реЙрдЧрд┐рди рдХрд░реЗрдВ | |
| docker login -u username -p password | рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд▓реЙрдЧрд┐рди рдХрд░реЗрдВ (рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ) | |
| docker logout | Docker Hub рдпрд╛ рдЕрдиреНрдп рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рд▓реЙрдЧрдЖрдЙрдЯ рдХрд░реЗрдВ | |
| docker logout | Docker Hub рд╕реЗ рд▓реЙрдЧрдЖрдЙрдЯ рдХрд░реЗрдВ | |
| docker logout myregistry.local:5000 | рдирд┐рдЬреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рд▓реЙрдЧрдЖрдЙрдЯ рдХрд░реЗрдВ | |
| HEALTHCHECK | Dockerfile рдирд┐рд░реНрджреЗрд╢, рдЬреЛ рдХрдВрдЯреЗрдирд░ рдХреА рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕реНрдерд┐рддрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ | |
| HEALTHCHECK --interval=30s --timeout=5s --retries=3 CMD curl -f http://localhost/ || exit 1 | рд╣рд░ 30 рд╕реЗрдХрдВрдб рдореЗрдВ рд╕реЗрд╡рд╛ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдердЪреЗрдХ рдЬреЛрдбрд╝реЗрдВ | |
| docker inspect --format='{{json .State.Health}}' container_name | рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХрд╛ рд╣реЗрд▓реНрдердЪреЗрдХ рд╕реНрдЯреЗрдЯрд╕ рдЬрд╛рдБрдЪреЗрдВ | 
ЁЯФМ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╡реЙрд▓реНрдпреВрдо
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker network ls | рд╕рднреА Docker рдиреЗрдЯрд╡рд░реНрдХ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ | |
| docker network ls | рд╕рднреА рдмрдирд╛рдП рдЧрдП Docker рдиреЗрдЯрд╡рд░реНрдХ рджрд┐рдЦрд╛рдПрдБ | |
| docker network ls --filter driver=bridge | 
 | |
| docker network ls --format '{{.Name}}' | рдХреЗрд╡рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдирд╛рдо рджрд┐рдЦрд╛рдПрдБ | |
| docker network create | рдирдпрд╛ Docker рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдПрдБ | |
| docker network create my_net | 
 | |
| docker network create --driver bridge my_bridge_net | 
 | |
| docker network create --subnet=192.168.10.0/24 my_custom_net | рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдмрдиреЗрдЯ рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдПрдБ | |
| docker network connect | рдХрдВрдЯреЗрдирд░ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ | |
| docker network connect my_net container | 
 | |
| docker network connect --alias db_net my_net container | 
 | |
| docker network disconnect | рдХрдВрдЯреЗрдирд░ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ | |
| docker network disconnect my_net container | 
 | |
| docker volume ls | рд╕рднреА Docker рд╡реЙрд▓реНрдпреВрдо рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ | |
| docker volume ls | рд╕рднреА Docker рд╡реЙрд▓реНрдпреВрдо рджрд┐рдЦрд╛рдПрдБ | |
| docker volume ls --filter dangling=true | рдЕрдкреНрд░рдпреБрдХреНрдд рд╡реЙрд▓реНрдпреВрдо рджрд┐рдЦрд╛рдПрдБ | |
| docker volume create | рдирдпрд╛ Docker рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдПрдБ | |
| docker volume create my_vol | 
 | |
| docker volume create --driver local --opt type=tmpfs my_tmp_vol | tmpfs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд╕реНрдерд╛рдпреА рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдПрдБ | |
| docker volume inspect | рдХрд┐рд╕реА рд╡реЙрд▓реНрдпреВрдо рдХреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рдПрдБ | |
| docker volume inspect my_vol | 
 | |
| docker volume rm | рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╡реЙрд▓реНрдпреВрдо рд╣рдЯрд╛рдПрдБ | |
| docker volume rm my_vol | 
 | |
| docker volume rm $(docker volume ls -qf dangling=true) | рд╕рднреА рдЕрдкреНрд░рдпреБрдХреНрдд рд╡реЙрд▓реНрдпреВрдо рд╣рдЯрд╛рдПрдБ | 
ЁЯзй рдбреЙрдХрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker plugin ls | рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП Docker рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ | |
| docker plugin ls | рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдФрд░ рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдПрдБ | |
| docker plugin install | рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ Docker рдкреНрд▓рдЧрдЗрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ | |
| docker plugin install vieux/sshfs | SSHFS рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ | |
| docker plugin install store/weaveworks/net-plugin:latest_release | Weave рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд▓рдЧрдЗрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ | |
| docker plugin disable | рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреНрд▓рдЧрдЗрди рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░реЗрдВ | |
| docker plugin disable vieux/sshfs | SSHFS рдкреНрд▓рдЧрдЗрди рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░реЗрдВ | |
| docker plugin enable | рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд▓рдЧрдЗрди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ | |
| docker plugin enable vieux/sshfs | SSHFS рдкреНрд▓рдЧрдЗрди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ | |
| docker plugin rm | Docker рдкреНрд▓рдЧрдЗрди рд╣рдЯрд╛рдПрдБ | |
| docker plugin rm vieux/sshfs | SSHFS рдкреНрд▓рдЧрдЗрди рд╣рдЯрд╛рдПрдБ | 
ЁЯУЛ рдбреЙрдХрд░ рдХрдореНрдкреЛрдЬрд╝
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker compose up | docker-compose.ymlрдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose up | рд╡рд░реНрддрдорд╛рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреА рд╕рднреА рд╕реЗрд╡рд╛рдПрдБ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб рдореЗрдВ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose up -d | рд╕реЗрд╡рд╛рдУрдВ рдХреЛ detached рдореЛрдб (рдкреГрд╖реНрдарднреВрдорд┐) рдореЗрдВ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose up --build | рд╕реЗрд╡рд╛рдПрдБ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ | |
| docker compose down | upрджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХрдВрдЯреЗрдирд░, рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╡реЙрд▓реНрдпреВрдо рд░реЛрдХреЗрдВ рдФрд░ рд╣рдЯрд╛рдПрдБ | |
| docker compose down | рд╕рднреА рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛рдПрдБ рд░реЛрдХреЗрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рд╣рдЯрд╛рдПрдБ | |
| docker compose down --volumes | Compose рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╡реЙрд▓реНрдпреВрдо рднреА рд╣рдЯрд╛рдПрдБ | |
| docker compose down --rmi all | Compose рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдЗрдореЗрдЬ рднреА рд╣рдЯрд╛рдПрдБ | |
| docker compose logs | рд╕рднреА рдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓реЙрдЧ рджреЗрдЦреЗрдВ | |
| docker compose logs | рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓реЙрдЧ рджрд┐рдЦрд╛рдПрдБ | |
| docker compose logs -f | рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд▓реЙрдЧ рдлрд╝реЙрд▓реЛ рдХрд░реЗрдВ | |
| docker compose logs web | 
 | |
| docker compose exec | рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ | |
| docker compose exec web bash | 
 | |
| docker compose exec db ls /var/lib/postgresql | рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░  | |
| docker compose exec -d worker touch /tmp/done | 
 | |
| docker compose build | рд╕реЗрд╡рд╛ рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ рдпрд╛ рдкреБрдирдГ рдмрдирд╛рдПрдБ | |
| docker compose build | 
 | |
| docker compose build web | рдХреЗрд╡рд▓  | |
| docker compose build --no-cache | рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ | |
| docker compose ps | рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдПрдБ | |
| docker compose ps -a | рд╕рднреА рдХрдВрдЯреЗрдирд░ рджрд┐рдЦрд╛рдПрдБ, рдЬрд┐рдирдореЗрдВ рд░реБрдХреЗ рд╣реБрдП рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ | |
| docker compose ps --services | рдХреЗрд╡рд▓ рд╕реЗрд╡рд╛ рдирд╛рдо рджрд┐рдЦрд╛рдПрдБ | |
| docker compose pull | рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рд╕реЗрд╡рд╛ рдЗрдореЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб/рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ | |
| docker compose pull web | рдХреЗрд╡рд▓  | |
| docker compose pull --ignore-pull-failures | рдХреБрдЫ рдЗрдореЗрдЬ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рднреА рдЬрд╛рд░реА рд░рдЦреЗрдВ | |
| docker compose restart | рд╕рднреА рдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose restart db | рдХреЗрд╡рд▓  | |
| docker compose restart -t 10 | 10-рд╕реЗрдХрдВрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛рдПрдБ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose config | рдЕрдВрддрд┐рдо Compose рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди YAML рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдПрдБ | |
| docker compose config --services | рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рднреА рд╕реЗрд╡рд╛рдПрдБ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ | |
| docker compose config --volumes | рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рднреА рд╡реЙрд▓реНрдпреВрдо рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ | |
| docker compose start | рд░реБрдХреА рд╣реБрдИ рд╕реЗрд╡рд╛рдПрдБ рдХрдВрдЯреЗрдирд░ рдкреБрдирдГ рдмрдирд╛рдП рдмрд┐рдирд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose start web | 
 | |
| docker compose start db api | рдПрдХ рд╕рд╛рде рдХрдИ рд╕реЗрд╡рд╛рдПрдБ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose stop | рдХрдВрдЯреЗрдирд░ рд╣рдЯрд╛рдП рдмрд┐рдирд╛ рд╕реЗрд╡рд╛рдПрдБ рд░реЛрдХреЗрдВ | |
| docker compose stop web | 
 | |
| docker compose stop -t 5 | 5-рд╕реЗрдХрдВрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛рдПрдБ рд░реЛрдХреЗрдВ | 
ЁЯУд рдирд┐рд░реНрдпрд╛рдд рдФрд░ рдЖрдпрд╛рдд
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker image save | рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ Docker рдЗрдореЗрдЬ рдХреЛ tar рдЖрд░реНрдХрд╛рдЗрд╡ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЖрдпрд╛рдд рдпрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ | |
| docker save -o image.tar my_img:tag | Docker рдЗрдореЗрдЬ рдХреЛ tar рдЖрд░реНрдХрд╛рдЗрд╡ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ | |
| docker save my_image > my_image.tar | рдЗрдореЗрдЬ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ | |
| docker save -o redis_latest.tar redis:latest | рд╡рд┐рд╢рд┐рд╖реНрдЯ Redis рдЗрдореЗрдЬ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ | |
| docker image load | рдкрд╣рд▓реЗ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЧрдП tar рдЖрд░реНрдХрд╛рдЗрд╡ рд╕реЗ Docker рдЗрдореЗрдЬ рд▓реЛрдб рдХрд░реЗрдВ | |
| docker load < image.tar | tar рдЖрд░реНрдХрд╛рдЗрд╡ рдлрд╝рд╛рдЗрд▓ рд╕реЗ Docker рдЗрдореЗрдЬ рд▓реЛрдб рдХрд░реЗрдВ | |
| docker load --input redis_latest.tar | рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдЗрдореЗрдЬ рд▓реЛрдб рдХрд░реЗрдВ | |
| docker load --quiet < my_image.tar | рдкреНрд░рдЧрддрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрд┐рдирд╛ рдЗрдореЗрдЬ рд▓реЛрдб рдХрд░реЗрдВ | |
| docker container export | рдХрдВрдЯреЗрдирд░ рдХреА рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ tar рдЖрд░реНрдХрд╛рдЗрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ (рдмрд┐рдирд╛ рдЗрддрд┐рд╣рд╛рд╕ рдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛) | |
| docker export container > file.tar | рдХрдВрдЯреЗрдирд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЖрд░реНрдХрд╛рдЗрд╡ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ | |
| docker export my_container > my_container_fs.tar | рдирд╛рдо рджреНрд╡рд╛рд░рд╛ рдХрдВрдЯреЗрдирд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ | |
| docker export -o container_fs.tar container_id | 
 | |
| docker image import | рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ tar рдЖрд░реНрдХрд╛рдЗрд╡ рд╕реЗ рдирдИ рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ | |
| docker import file.tar new_img | рдЖрд░реНрдХрд╛рдЗрд╡ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирдИ Docker рдЗрдореЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ | |
| docker import https://example.com/image.tar my_new_image | URL рд╕реЗ рд╕реАрдзреЗ рдЗрдореЗрдЬ рдЖрдпрд╛рдд рдХрд░реЗрдВ | |
| docker import - my_image < file.tar | рдорд╛рдирдХ рдЗрдирдкреБрдЯ рд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ | 
ЁЯз╣ рд╕рдлрд╛рдИ рдФрд░ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker system df | Docker рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ рджрд┐рдЦрд╛рдПрдБ: рд╡реЙрд▓реНрдпреВрдо, рдЗрдореЗрдЬ, рдХрдВрдЯреЗрдирд░ рдФрд░ рдмрд┐рд▓реНрдб рдХреИрд╢ | |
| docker system df -v | рдкреНрд░рддреНрдпреЗрдХ рдЗрдореЗрдЬ, рдХрдВрдЯреЗрдирд░ рдФрд░ рд╡реЙрд▓реНрдпреВрдо рдХреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рдПрдБ | |
| docker system df --format '{{json .}}' | рдЬрд╛рдирдХрд╛рд░реА JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ | |
| docker system prune | рд╕рднреА рдЕрдкреНрд░рдпреБрдХреНрдд Docker рдбреЗрдЯрд╛ рд╣рдЯрд╛рдПрдБ: рд░реБрдХреЗ рд╣реБрдП рдХрдВрдЯреЗрдирд░, рдЕрдкреНрд░рдпреБрдХреНрдд рдиреЗрдЯрд╡рд░реНрдХ, dangling рдЗрдореЗрдЬ рдФрд░ рдмрд┐рд▓реНрдб рдХреИрд╢ | |
| docker system prune -a | рдЕрдкреНрд░рдпреБрдХреНрдд рдЗрдореЗрдЬ рд╣рдЯрд╛рдПрдБ, рдЬрд┐рдирдореЗрдВ рдордзреНрдпрд╡рд░реНрддреА рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ | |
| docker system prune --volumes | рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкреНрд░рдпреБрдХреНрдд рд╡реЙрд▓реНрдпреВрдо рд╣рдЯрд╛рдПрдБ | |
| docker image prune | рдЕрдкреНрд░рдпреБрдХреНрдд Docker рдЗрдореЗрдЬ рд╣рдЯрд╛рдПрдБ, рдЬрд┐рдирдореЗрдВ dangling рд▓реЗрдпрд░реНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ | |
| docker image prune -a | рд╕рднреА рдЕрдкреНрд░рдпреБрдХреНрдд рдЗрдореЗрдЬ рд╣рдЯрд╛рдПрдБ, рдЬрд┐рдирдореЗрдВ dangling рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ | |
| docker image prune --filter "until=24h" | 24 рдШрдВрдЯреЗ рд╕реЗ рдкреБрд░рд╛рдиреА рдЗрдореЗрдЬ рд╣рдЯрд╛рдПрдБ | |
| docker container prune | рдлрд╝рд┐рд▓реНрдЯрд░ рдорд┐рд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд░реБрдХреЗ рд╣реБрдП рдХрдВрдЯреЗрдирд░ рд╣рдЯрд╛рдПрдБ рдпрд╛ рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рд╣реЛрдВ рддреЛ рд╕рднреА рд╣рдЯрд╛рдПрдБ | |
| docker container prune --filter "until=24h" | 24 рдШрдВрдЯреЗ рд╕реЗ рдкреБрд░рд╛рдиреЗ рд░реБрдХреЗ рд╣реБрдП рдХрдВрдЯреЗрдирд░ рд╣рдЯрд╛рдПрдБ | |
| docker container prune --force | рдмрд┐рдирд╛ рдкреБрд╖реНрдЯрд┐ рдХреЗ рд╣рдЯрд╛рдПрдБ | 
ЁЯРЭ Docker Swarm
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker swarm init | рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдкрд░ рдирдпрд╛ Docker Swarm рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker swarm init --advertise-addr 192.168.1.100 | IP рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker swarm init --listen-addr 0.0.0.0:2377 | рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реБрдирдиреЗ рд╡рд╛рд▓реЗ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker service create | Swarm рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдирдИ рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдБ | |
| docker service create --name nginx nginx | Swarm рдореЗрдВ Nginx рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдБ | |
| docker service create --replicas 3 --name web webserver | 3 рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдБ | |
| docker service create --name redis --publish 6379:6379 redis | рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдБ | |
| docker stack deploy | Compose рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ Swarm рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╕реНрдЯреИрдХ рддреИрдирд╛рдд рдХрд░реЗрдВ | |
| docker stack deploy -c docker-compose.yml mystack | Compose рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реНрдЯреИрдХ рддреИрдирд╛рдд рдХрд░реЗрдВ | |
| docker stack deploy --with-registry-auth -c compose.yml mystack | рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдХрд░реЗрдВ | |
| docker stack deploy -c swarm-compose.yml mystack | рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ Compose рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ | |
| docker stack rm | Swarm рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╕реНрдЯреИрдХ рд╣рдЯрд╛рдПрдБ | |
| docker stack rm mystack | 
 | |
| docker stack rm | рд╕рднреА рд╕реНрдЯреИрдХ рд╣рдЯрд╛рдПрдБ (рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ) | |
| docker stack rm mystack && docker swarm leave --force | рд╕реНрдЯреИрдХ рд╣рдЯрд╛рдПрдБ рдФрд░ Swarm рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ | 
ЁЯТ╝ рдЙрдиреНрдирдд рдбреЙрдХрд░ рдЙрдкрдпреЛрдЧ
ЁЯЪА рдкреНрд░реЛрдлреЗрд╢рдирд▓ Docker рдХрдорд╛рдВрдб
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker buildx | docker buildрдХрд╛ рд╕реНрдерд╛рди рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдЙрдиреНрдирдд рдЗрдореЗрдЬ рдмрд┐рд▓реНрдб рдЯреВрд▓ред рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдХреИрд╢рд┐рдВрдЧ, рдкреИрд░реЗрд▓рд▓ рдмрд┐рд▓реНрдб рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред CI/CD рдФрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА | |
| docker buildx build --platform linux/arm64,linux/amd64 -t myimg:multi . | рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ (рдПрдХ рд╕рд╛рде ARM рдФрд░ x86) | |
| docker buildx build --load -t localimg . | рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп Docker Engine рдХреИрд╢ рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдВ | |
| docker buildx build --push --platform linux/amd64,linux/arm64 -t repo/app:latest . | рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреБрд╢ рдХрд░реЗрдВ | |
| docker context | рд░рд┐рдореЛрдЯ рдпрд╛ рдХрдИ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Docker рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВред рд╕реНрдерд╛рдиреАрдп рдФрд░ рд░рд┐рдореЛрдЯ Docker Engines рдХреЗ рдмреАрдЪ рддреЗрдЬрд╝реА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо | |
| docker context create myremote --docker "host=ssh://user@host" | рд░рд┐рдореЛрдЯ Docker рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдмрдирд╛рдПрдБ | |
| docker context use myremote | рд░рд┐рдореЛрдЯ рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ | |
| docker context ls | рдЙрдкрд▓рдмреНрдз рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рд╕рдХреНрд░рд┐рдп рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ | |
| docker system events | Docker рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд╕реБрдиреЗрдВ, рдШрдЯрдирд╛ рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде (рдЬреИрд╕реЗ рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн)ред рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА | |
| docker events --filter 'event=start' | рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рдШрдЯрдирд╛рдПрдБ рджрд┐рдЦрд╛рдПрдБ | |
| docker events --since 1h --until 10m | рдкрд┐рдЫрд▓реЗ рдШрдВрдЯреЗ рд╕реЗ 10 рдорд┐рдирдЯ рдкрд╣рд▓реЗ рддрдХ рдХреА рдШрдЯрдирд╛рдПрдБ рджрд┐рдЦрд╛рдПрдБ | |
| docker events --filter 'type=network' | рдХреЗрд╡рд▓ рдиреЗрдЯрд╡рд░реНрдХ-рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдПрдБ рджрд┐рдЦрд╛рдПрдБ | |
| docker events --filter 'image=nginx' | 
 | |
| docker container update | рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХреА рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд╛рдПрдБ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрд┐рдирд╛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдП рдмрджрд▓реЗрдВ | |
| docker update --cpus 2 --memory 1g my_container | рд╕реАрдорд╛ 2 CPU рдФрд░ 1 GB RAM рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ | |
| docker update --restart unless-stopped my_container | рдСрдЯреЛ-рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдиреАрддрд┐  | |
| docker update --pids-limit 200 my_container | рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 200 рддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдВ | |
| docker container diff | рдореВрд▓ рдЗрдореЗрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдБред рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдСрдбрд┐рдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА | |
| docker diff my_container | рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рднреА рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░рд┐рд╡рд░реНрддрди рджрд┐рдЦрд╛рдПрдБ | |
| docker diff my_container | grep '^A' | рдХреЗрд╡рд▓ рдЬреЛрдбрд╝реА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдПрдБ ( | |
| docker image history | рдЗрдореЗрдЬ рд▓реЗрдпрд░реНрд╕ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рджрд┐рдЦрд╛рдПрдБ: рдмрд┐рд▓реНрдб рдХрдорд╛рдВрдбреНрд╕, рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдпрд░ рдХрд╛ рдЖрдХрд╛рд░ рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдордпред рдЕрдиреБрдХреВрд▓рди рдФрд░ рдСрдбрд┐рдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА | |
| docker history my_image | рдХрд┐рд╕реА рдЗрдореЗрдЬ рдХрд╛ рд▓реЗрдпрд░ рдЗрддрд┐рд╣рд╛рд╕ рджрд┐рдЦрд╛рдПрдБ | |
| docker history --no-trunc my_image | рдмрд┐рдирд╛ рдХрд╛рдЯреЗ рдкреВрд░реНрдг рдмрд┐рд▓реНрдб рдХрдорд╛рдВрдб рджрд┐рдЦрд╛рдПрдБ | |
| docker history --format "{{.CreatedBy}}: {{.Size}}" my_image | рдХреЗрд╡рд▓ рдмрд┐рд▓реНрдб рдХрдорд╛рдВрдбреНрд╕ рдФрд░ рд▓реЗрдпрд░ рдЖрдХрд╛рд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ | 
ЁЯЫа рдЙрдкрдпреЛрдЧреА Docker рдкреНрд░рдерд╛рдПрдБ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди
- рдЗрдореЗрдЬ рдЖрдХрд╛рд░ рдХрдо рдХрд░реЗрдВ 
 - alpineрдпрд╛- scratchрдЬреИрд╕реА рдмреЗрд╕ рдЗрдореЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
 рд▓реЗрдпрд░реНрд╕ рдХреЛ squash рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди- --squashрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рдХреНрд╖рдо рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП)ред
 рд╕рд╛рде рд╣реА, рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдХреИрд╢ рдПрдХ рд╣реА рд▓реЗрдпрд░ рдореЗрдВ рд╣рдЯрд╛рдПрдБ:- RUN apk add --no-cache curl && rm -rf /var/cache/apk/*
- рд▓реЗрдпрд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░реЗрдВ 
 рдЕрдВрддрд┐рдо рдЗрдореЗрдЬ рдХрд╛ рдЖрдХрд╛рд░ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ- RUNрдореЗрдВ рдХрдИ рдХрдорд╛рдВрдбреНрд╕ рдорд┐рд▓рд╛рдПрдБ:- RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
- Dockerfile рдмрд┐рд▓реНрдб рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ 
 рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЕрдВрддрд┐рдо рдЗрдореЗрдЬ рдореЗрдВ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рд░рд╣реЗрдВред
 рдирд┐рд░реНрднрд░рддрд╛ рдкрд╣рд▓реЗ рдХреЙрдкреА рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, рдлрд┐рд░ рдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВ тАФ рдЗрд╕рд╕реЗ рдХреИрд╢рд┐рдВрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ рдФрд░ рд░реАрдмрд┐рд▓реНрдб рддреЗрдЬрд╝ рд╣реЛрдЧрд╛ред
- рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдЕрд▓рдЧ рдХрд░реЗрдВ 
 - .envрдлрд╝рд╛рдЗрд▓реЗрдВ, API рдХреБрдВрдЬреА рдпрд╛ рдирд┐рдЬреА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрднреА рднреА рдЗрдореЗрдЬ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рди рдХрд░реЗрдВред
 рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:- docker secret(Swarm рдореЗрдВ)
 
- рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реЗрд░рд┐рдПрдмрд▓ (-e VAR=valueрдпрд╛.env)
 
- рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рд╡реЙрд▓реНрдпреВрдо 
 
- рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ (BuildKit) 
 рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реАрдХреНрд░реЗрдЯ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП- --secretрдлрд╝реНрд▓реИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:- docker buildx build --secret id=mysecret,src=./secret.txt .- Dockerfile рдореЗрдВ, рд╕реАрдХреНрд░реЗрдЯ - /run/secrets/mysecretрдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИ:- RUN --mount=type=secret,id=mysecret cat /run/secrets/mysecret- ЁЯЫб рдпрд╣ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рдЗрдореЗрдЬ рд▓реЗрдпрд░реНрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред 
- рд░реВрдЯрд▓реЗрд╕ рдбреЙрдХрд░ 
 рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ Docker рдЪрд▓рд╛рдиреЗ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╝рддреА рд╣реИ рдФрд░ рд╣реЛрд╕реНрдЯ рд╕рдордЭреМрддрд╛ рдЬреЛрдЦрд┐рдо рдХрдо рд╣реЛрддрд╛ рд╣реИред
 рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:- dockerd-rootless-setuptool.sh install export PATH=/usr/bin:$PATH- рдЬрд╛рдБрдЪреЗрдВ: - docker info | grep Rootless- тЪа рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдПрдБ (рдЬреИрд╕реЗ, рдкреЛрд░реНрдЯ рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ <1024) рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдВрдЧреАред 
- рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬ рд╕реНрдХреИрди рдХрд░реЗрдВ 
 рдмрд┐рд▓реНрдЯ-рдЗрди рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:- docker scan my_image- рдпрд╛ рдирдпрд╛ CLI: - docker scout cves my_image- рдпрд╣ рдмреЗрд╕ рдЗрдореЗрдЬ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред 
- рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ 
 рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдореЗрдореЛрд░реА, CPU рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдХрд░реЗрдВ:- docker run --memory=512m --cpus="1.5" --pids-limit=200 myimage- рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЕрдзрд┐рдХ рдЦрдкрдд рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред 
 рдЖрдк I/O рдХреЛ рднреА рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:- docker run --device-read-bps /dev/sda:1mb --device-write-bps /dev/sda:1mb myimage- рдЙрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдЬреЛ рдбрд┐рд╕реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЛ рдУрд╡рд░рд▓реЛрдб рдирд╣реАрдВ рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдПред 
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдлрд╛рдИ 
 рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдкреНрд░рдпреБрдХреНрдд рдЗрдореЗрдЬ, рдХрдВрдЯреЗрдирд░, рд╡реЙрд▓реНрдпреВрдо рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╣рдЯрд╛рдПрдБ:- docker system prune -af --volumes- тЪа рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ: рдпрд╣ рдХрдорд╛рдВрдб рд╕рднреА рдЕрдкреНрд░рдпреБрдХреНрдд рд╕рдВрд╕рд╛рдзрди рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред - рдЪрдпрдирд╛рддреНрдордХ рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: - docker image prune --filter "until=24h"
- CI/CD рдПрдХреАрдХрд░рдг 
 рдмрд┐рд▓реНрдб, рдЯреЗрд╕реНрдЯ рдФрд░ рдбрд┐рдкреНрд▓реЙрдп рдХреЛ GitHub Actions, GitLab CI, Jenkins рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░реЗрдВред
 GitHub Actions рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЪрд░рдг:- - run: docker build -t myapp:${GITHUB_SHA} . - run: docker push myapp:${GITHUB_SHA}
- рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ 
 рд▓реЙрдЧрд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡рд░реНрд╕ (- --log-driver) рдХреЛ рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рд┐рд╕реНрдЯрдореНрд╕ рд╕реЗ рдЬреЛрдбрд╝реЗрдВ: ELK, Loki, Splunkред
 рдХрдВрдЯреЗрдирд░ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП Prometheus + cAdvisor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдкреНрд░реЛрдбрдХреНрд╢рди рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ 
 - docker-compose.override.ymlрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧ рд░рдЦреЗрдВред
 рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:- Docker Swarm
 
- Kubernetes 
 
- Docker Swarm
ЁЯРЮ Docker рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker container exec | рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ, рдЬрд┐рд╕рд╕реЗ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдПрдХреНрд╕реЗрд╕ рдорд┐рд▓реЗ рдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЖрдЗрд╕реЛрд▓реЗрдЯреЗрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдЪрд▓рд╛рдИ рдЬрд╛ рд╕рдХреЗрдВ | |
| docker exec -it my_container bash | рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдЯрд░реНрдорд┐рдирд▓ (bash) рд╢реБрд░реВ рдХрд░реЗрдВ | |
| docker exec -it my_container sh | рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдиреНрдпреВрдирддрдо рд╢реЗрд▓ рд╢реБрд░реВ рдХрд░реЗрдВ (рдпрджрд┐ bash рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ) | |
| docker exec my_container ls /app | рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдмрд┐рдирд╛ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдореЛрдб рдХреЗ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ | |
| docker container logs | рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓реЙрдЧ рджрд┐рдЦрд╛рдПрдБ, рдЬрд┐рд╕рд╕реЗ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рдШрдЯрдирд╛рдПрдБ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рджреЗрдЦреА рдЬрд╛ рд╕рдХреЗрдВ | |
| docker logs -f --tail 100 my_container | рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдХреА рдЕрдВрддрд┐рдо 100 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рджреЗрдЦреЗрдВ | |
| docker logs my_container | рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рднреА рдЙрдкрд▓рдмреНрдз рд▓реЙрдЧ рджрд┐рдЦрд╛рдПрдБ | |
| docker logs --since 1h my_container | рдкрд┐рдЫрд▓реЗ рдПрдХ рдШрдВрдЯреЗ рдХреЗ рд▓реЙрдЧ рджрд┐рдЦрд╛рдПрдБ | |
| docker inspect | Docker рдСрдмреНрдЬреЗрдХреНрдЯ (рдХрдВрдЯреЗрдирд░, рдЗрдореЗрдЬ, рдиреЗрдЯрд╡рд░реНрдХ рдЖрджрд┐) рдХреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА JSON рдлрд╝реЙрд░реНрдореЗрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдПрдБ, рдЬрд┐рд╕рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╕реНрдерд┐рддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИ | |
| docker inspect my_container | рдХрдВрдЯреЗрдирд░ рдХреА рдкреВрд░реА JSON рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ | |
| docker inspect --format '{{.State.Pid}}' my_container | рд╣реЛрд╕реНрдЯ рдкрд░ рдХрдВрдЯреЗрдирд░ рдХреА рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ PID рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ | |
| docker inspect --format '{{.NetworkSettings.IPAddress}}' my_container | рдХрдВрдЯреЗрдирд░ рдХрд╛ IP рдкрддрд╛ рджрд┐рдЦрд╛рдПрдБ | |
| nsenter(withstrace) | Linux рдпреВрдЯрд┐рд▓рд┐рдЯреА рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрд╕реЗрд╕ (рдпрд╣рд╛рдБ рдХрдВрдЯреЗрдирд░) рдХреЗ namespace рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИред straceрдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЯреНрд░реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ | |
| nsenter --target $(docker inspect --format '{{.State.Pid}}' my_container) --mount --uts --ipc --net --pid strace -p 1 | рдХрдВрдЯреЗрдирд░ namespace рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ 1 рдХреА рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЯреНрд░реЗрд╕ рдХрд░реЗрдВ | |
| nsenter --target $(docker inspect --format '{{.State.Pid}}' my_container) --mount --uts --ipc --net --pid bash | рдХрдВрдЯреЗрдирд░ namespace рдХреЗ рдЕрдВрджрд░ bash рд╢реЗрд▓ рдЦреЛрд▓реЗрдВ | |
| nsenter --target $(docker inspect --format '{{.State.Pid}}' my_container) --net netstat -tulnp | рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЦреБрд▓реЗ рдкреЛрд░реНрдЯ рджреЗрдЦреЗрдВ | |
| tcpdump(inside container) | рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХреИрдкреНрдЪрд░ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдЯреВрд▓ред рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ, рдкреИрдХреЗрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдореЙрдирд┐рдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ | |
| docker exec -it my_container tcpdump -i any | рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреИрдкреНрдЪрд░ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ | |
| docker exec -it my_container tcpdump -nn port 80 | рдХреЗрд╡рд▓ рдкреЛрд░реНрдЯ 80 рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВ | |
| docker exec -it my_container tcpdump -w /tmp/dump.pcap | рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрд╛рдж рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдВ | |
| docker container stats | рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ рдореАрдЯреНрд░рд┐рдХреНрд╕ (CPU, рдореЗрдореЛрд░реА, рдиреЗрдЯрд╡рд░реНрдХ, рдбрд┐рд╕реНрдХ) рдХреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ | |
| docker stats my_container | рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ CPU, рдореЗрдореЛрд░реА, рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ | |
| docker stats | рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЖрдБрдХрдбрд╝реЗ рджрд┐рдЦрд╛рдПрдБ | |
| docker stats --no-stream | рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЖрдБрдХрдбрд╝реЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ | |
| docker container top | рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдБ, рдЬреИрд╕реЗ Linux рдореЗрдВ ps, рдХрдВрдЯреЗрдирд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП | |
| docker top my_container | рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рджрд┐рдЦрд╛рдПрдБ | |
| docker top my_container aux | 
 | |
| docker top my_container -eo pid,cmd | рдХреЗрд╡рд▓ PID рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдХрдорд╛рдВрдб рджрд┐рдЦрд╛рдПрдБ | |
| docker diff | рдХрдВрдЯреЗрдирд░ рдХреА рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрд╕рдХреЗ рдмреЗрд╕ рдЗрдореЗрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣реБрдП рдмрджрд▓рд╛рд╡ рджрд┐рдЦрд╛рдПрдБ, рдЬрд┐рд╕рдореЗрдВ рдЬреЛрдбрд╝реА рдЧрдИ, рдмрджрд▓реА рдЧрдИ, рдпрд╛ рд╣рдЯрд╛рдИ рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ | |
| docker diff my_container | рдмреЗрд╕ рдЗрдореЗрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдмрджрд▓рд╛рд╡ рджрд┐рдЦрд╛рдПрдБ | |
| docker diff my_container | grep '^A' | рдХреЗрд╡рд▓ рдЬреЛрдбрд╝реА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдПрдБ ( | |
| docker diff my_container | grep '^C' | рдХреЗрд╡рд▓ рдмрджрд▓реА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдПрдБ ( | |
| docker cp | рдХрдВрдЯреЗрдирд░ рдФрд░ рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдХреЗ рдмреАрдЪ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдФрд░ рдмреИрдХрдЕрдк рд╕рдВрднрд╡ рд╣реЛрддрд╛ рд╣реИ | |
| тАФ | тАФ | тАФ | 
| docker cp my_container:/path/to/file ./file | рдХрдВрдЯреЗрдирд░ рд╕реЗ рд╣реЛрд╕реНрдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЙрдкреА рдХрд░реЗрдВ | |
| docker cp ./config.yaml my_container:/app/config.yaml | рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЙрдкреА рдХрд░реЗрдВ | |
| docker cp my_container:/var/log/app.log - | tar x -O | grep "ERROR" | рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рд╕реЗрд╡ рдХрд┐рдП рдмрд┐рдирд╛ error рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ | 
ЁЯТб рдЙрдиреНрдирдд рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрдк
nsenter,strace,tcpdump,gdbрдФрд░ рдЕрдиреНрдп рд▓реЛ-рд▓реЗрд╡рд▓ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
ЁЯТ╝ рдЙрдиреНрдирдд Docker Compose рдЙрдкрдпреЛрдЧ
ЁЯЪА рдкреЗрд╢реЗрд╡рд░ Docker Compose рдХрдорд╛рдВрдб
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker compose up | docker-compose.yml рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЬреАрд╡рдирдЪрдХреНрд░ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ, рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде | |
| docker compose up -d web db | рдХреЗрд╡рд▓  | |
| docker compose up --build | рд╕реЗрд╡рд╛рдПрдБ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрдореЗрдЬ рдкреБрдирдГ рдмрдирд╛рдПрдБ | |
| docker compose up --remove-orphans | рд╡рд░реНрддрдорд╛рди compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╣рдЯрд╛рдПрдБ | |
| docker compose build | compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬ рдмрдирд╛рдПрдБ, cache рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░рддрд╛ рдХреЗ рд╕рд╛рде | |
| docker compose build --no-cache | рдмрд┐рдирд╛ cache рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрдореЗрдЬ рдкреБрдирдГ рдмрдирд╛рдПрдБ | |
| docker compose build --parallel | рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдмрдирд╛рдПрдБ рддрд╛рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддреЗрдЬрд╝ рд╣реЛ | |
| docker compose build web | рдХреЗрд╡рд▓  | |
| docker compose pull | рд╕рднреА рдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдЗрдореЗрдЬ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ | |
| docker compose pull | рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬ рдЦреАрдВрдЪреЗрдВ | |
| docker compose pull db | рдХреЗрд╡рд▓  | |
| docker compose pull --ignore-pull-failures | рдЗрдореЗрдЬ рдЦреАрдВрдЪрддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реБрдП рдирд┐рд╖реНрдкрд╛рджрди рдЬрд╛рд░реА рд░рдЦреЗрдВ | |
| docker compose restart | рдмрд┐рдирд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреБрдирдГ рдмрдирд╛рдП рд╕рднреА рдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose restart | рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose restart worker | рдХреЗрд╡рд▓  | |
| docker compose restart web db | рдПрдХ рд╕рд╛рде рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose exec | рд╡реИрдХрд▓реНрдкрд┐рдХ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдореЛрдб рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ | |
| docker compose exec db psql -U user -d database | 
 | |
| docker compose exec web sh | 
 | |
| docker compose exec api curl http://localhost:8080 | 
 | |
| docker compose config | рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдФрд░ environment variables рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдЕрдВрддрд┐рдо Compose рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ | |
| docker compose config | рдорд░реНрдЬ рдХреА рдЧрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди YAML рдлрд╝реЙрд░реНрдореЗрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдПрдБ | |
| docker compose config --services | рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдБ | |
| docker compose config --environment | рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рднреА environment variables рджрд┐рдЦрд╛рдПрдБ | |
| docker compose watch | рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ, рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА | |
| docker compose watch | рдлрд╛рдЗрд▓реЗрдВ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ | |
| docker compose events | Compose рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдХрд░реЗрдВ: рд╕реЗрд╡рд╛ рдкреНрд░рд╛рд░рдВрдн, рд░реЛрдХреЗрдВ, рдЕрдкрдбреЗрдЯ | |
| docker compose events --json | JSON рдлрд╝реЙрд░реНрдореЗрдЯ рдореЗрдВ рдШрдЯрдирд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ | |
| docker compose rm | рд░реБрдХреА рд╣реБрдИ рд╕реЗрд╡рд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╣рдЯрд╛рдПрдБ | |
| docker compose rm web db | 
 | |
| docker compose pause | рд╕реЗрд╡рд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд░реЛрдХреЗрдВ | |
| docker compose pause api | 
 | |
| docker compose unpause | рд░реБрдХреА рд╣реБрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рдХрд░реЗрдВ | |
| docker compose unpause api | 
 | |
| docker compose create | рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдБ рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рд░рдВрдн рди рдХрд░реЗрдВ | |
| docker compose create web db | 
 | |
| docker compose images | рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдЗрдореЗрдЬ рдХреА рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдБ | |
| docker compose images | рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЗрдореЗрдЬ рджрд┐рдЦрд╛рдПрдБ | |
| docker compose top | рд╕реЗрд╡рд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рджрд┐рдЦрд╛рдПрдБ | |
| docker compose top web | 
 | 
ЁЯЫа Docker Compose рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧреА рдЕрднреНрдпрд╛рд╕ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди
- рдкрд░реНрдпрд╛рд╡рд░рдг рдкреГрдердХреНрдХрд░рдг 
 рдЕрд▓рдЧ-рдЕрд▓рдЧ- docker-compose.override.ymlрдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди environments рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ тАФ- development,- staging,- productionред рдЗрд╕рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрд▓рдЧ рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмреАрдЪ рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
 рдЖрдк- -fрдлреНрд▓реИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рднреА рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:- docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d- environment variables рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди - .envрдлрд╛рдЗрд▓реЛрдВ (- .env.dev,- .env.prod, рдЖрджрд┐) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реАрдХреНрд░реЗрдЯреНрд╕ рд╕рдВрдЧреНрд░рд╣рдг 
 Compose рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ (рдкрд╛рд╕рд╡рд░реНрдб, рдЯреЛрдХрди) рд╕реАрдзреЗ рд╢рд╛рдорд┐рд▓ рди рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:- .envрдлрд╛рдЗрд▓реЗрдВ environment variables рдХреЗ рд▓рд┐рдП (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐- .envрдлрд╛рдЗрд▓реЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдирд╣реАрдВ рд╣реЛрддреАрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ repos рдореЗрдВ commit рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)
 
- docker secretрдФрд░- docker configрд╕реБрд░рдХреНрд╖рд┐рдд рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП Docker Swarm рдореЗрдВ
 
- рд╕реАрдХреНрд░реЗрдЯреНрд╕ рд╡рд╛рд▓реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП external volumes
 
- рдмрд╛рд╣рд░реА рд╕реАрдХреНрд░реЗрдЯ рдкреНрд░рдмрдВрдзрди рд╕рд┐рд╕реНрдЯрдо (рдЬреИрд╕реЗ HashiCorp Vault, AWS Secrets Manager) 
 
- depends_onрдФрд░- healthcheckрдХреЗ рд╕рд╛рде рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреНрд░рдо
 рд╕реЗрд╡рд╛рдУрдВ рдХреЛ dependencies рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╡рд╛рдиреЗ рдХреЗ рд▓рд┐рдП:- services: db: image: postgres healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s retries: 5 api: image: my_api depends_on: db: condition: service_healthy
- рдЕрдкрдбреЗрдЯ рдХреЗ рджреМрд░рд╛рди рдиреНрдпреВрдирддрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо 
 рд╕реЗрд╡рд╛рдПрдБ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рд╛рдПрдБ:- docker compose pull && docker compose up -d --remove-orphans- -dрд╡рд┐рдХрд▓реНрдк рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдФрд░- --remove-orphansрд╡рд░реНрддрдорд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧреНрд╕ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИред
 рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдкреБрд░рд╛рдиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░реЛрдХреЗрдВ рдФрд░ рд╣рдЯрд╛рдПрдБ:- docker compose down --remove-orphans- рдЗрд╕рд╕реЗ рдирдИ рдЗрдореЗрдЬ рд▓реЛрдб рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдЕрдкреНрд░рдпреБрдХреНрдд рдХрдВрдЯреЗрдирд░ рдмрд┐рдирд╛ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред 
- рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╣реЙрдЯ рдХреЛрдб рд░реАрд▓реЛрдбрд┐рдВрдЧ 
 - volumesрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рдбрд╛рдпрд░реЗрдХреНрдЯрд░реАрдЬрд╝ рдХреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВред рдЗрд╕рд╕реЗ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рддреБрд░рдВрдд рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЗрдореЗрдЬ рдкреБрдирдГ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреАред
 рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо caching рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдЦрд╛рд╕рдХрд░ Windows рдФрд░ macOS рдкрд░, рддрд╛рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХреЗред
- рдмрд┐рдирд╛ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╣реЙрдЯ рдХреЛрдб рд░реАрд▓реЛрдбрд┐рдВрдЧ (Compose 2.22+) - develop: watch: - path: ./src action: sync target: /app
- рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдХреЗрдВрджреНрд░реАрдХреГрдд рд▓реЙрдЧрд┐рдВрдЧ 
 рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧреНрд╕ рдХреЛ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдФрд░ рд▓реЙрдЧ рдПрдЧреНрд░реАрдЧреЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдЬреИрд╕реЗ ELK Stack, Loki, Prometheus, рдФрд░ Fluentd рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЕрд▓рд░реНрдЯрд┐рдВрдЧ рд╣реЛ рд╕рдХреЗред
 рдХреЗрдВрджреНрд░реАрдХреГрдд рд▓реЙрдЧ рд╕рдВрдЧреНрд░рд╣рдг рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Docker рд▓реЙрдЧрд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡рд░реНрд╕ (- --log-driver) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
 Compose рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡рд░реНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:- services: api: image: my_api logging: driver: "json-file" options: max-size: "10m" max-file: "3"
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реЗрд╡рд╛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн 
 - docker-compose.ymlрдореЗрдВ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдиреАрддрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:- restart: unless-stopped- рдЕрдиреНрдп рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдиреАрддрд┐рдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: - noтАФ рдХреЛрдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ)
 
- alwaysтАФ рд╣рдореЗрд╢рд╛ рдХрдВрдЯреЗрдирд░ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ
 
- on-failureтАФ рдХреЗрд╡рд▓ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдкрд░ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ retry count рдХреЗ рд╕рд╛рде)
 - рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ, - unless-stoppedрд╕реЗрд╡рд╛ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рд╡рд┐рдХрд▓реНрдк рд╣реИред
 рдпрд╣ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдпрд╛ рд╣реЛрд╕реНрдЯ рд░рд┐рдмреВрдЯ рдХреЗ рдмрд╛рдж рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░рд┐рдХрд╡рд░реА рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред
- рд╕реЗрд╡рд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓реНрд╕ 
 рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛ рд╕рдореВрд╣ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ:- services: db: image: postgres profiles: ["backend"] web: image: nginx profiles: ["frontend"]- рдХреЗрд╡рд▓ frontend рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП: - docker compose --profile frontend up
ЁЯРЮ Docker Compose рд╕реЗрд╡рд╛рдУрдВ рдХреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ
| рдХрдорд╛рдВрдб | рдЙрджрд╛рд╣рд░рдг | рд╡рд┐рд╡рд░рдг | 
|---|---|---|
| docker compose exec | рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛ рдХреЗ рдЕрдВрджрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ, рдЬрд┐рд╕рд╕реЗ рдХрдВрдЯреЗрдирд░ рдпрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдорд┐рд▓рддреА рд╣реИ | |
| docker compose exec web sh | 
 | |
| docker compose exec db psql -U user -d database | 
 | |
| docker compose logs | рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рд▓реЙрдЧ рджреЗрдЦреЗрдВ | |
| docker compose logs -f db | 
 | |
| docker compose logs --tail=50 api | 
 | |
| docker compose logs --since=1h web | 
 | |
| docker inspect | рд╕реЗрд╡рд╛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░ рдХреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреЗрдВ | |
| docker inspect $(docker compose ps -q web) | 
 | |
| docker container stats | рд╕реЗрд╡рд╛рдПрдБ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ | |
| docker stats $(docker compose ps -q worker) | 
 | |
| docker compose run --rm | рд╕реЗрд╡рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдПрдБ, рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА | |
| docker compose run --rm web sh | 
 | |
| docker container cp | рд╣реЛрд╕реНрдЯ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмреАрдЪ рдлрд╛рдЗрд▓реЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ | |
| docker cp $(docker compose ps -q db):/dump.sql ./dump.sql | 
 | 
ЁЯТб рдЬрдЯрд┐рд▓ рдорд▓реНрдЯреА-рд╕реЗрд╡рд╛ рд╕реЗрдЯрдЕрдк рдХреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рд╕реЗ,
docker compose run --rmрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрдВрдЯреЗрдирд░ рдЖрд╡рд╢реНрдпрдХ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╡реЙрд▓реНрдпреВрдореНрд╕ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛ рд╕рдХреЗрдВ рдмрд┐рдирд╛ рдореБрдЦреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдПред
ЁЯУЪ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрди
ЁЯЪл .dockerignore рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛
рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ .dockerignore рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрдореЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдХрд╛рд░ рдХрдо рд╣реЛ рдФрд░ build рддреЗрдЬрд╝ рд╣реЛ:
node_modules/
*.log
.envтЪб рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛
рдЖрдк рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдорд╛рдВрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рддреЗрдЬреА рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ:
alias dcu="docker compose up -d"
alias dcd="docker compose down"
alias dcb="docker compose build"ЁЯза рд╕реБрдЭрд╛рд╡: Docker рдЙрдкрдпреЛрдЧ рд╕рд▓рд╛рд╣
- рд╕рдм рдХреБрдЫ рдпрд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ тАФ docker --helpрдпрд╛docker <command> --helpрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░реЗрдВред
 
- рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рд╕рд░рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред
 
- рдЗрдореЗрдЬ рдЖрдХрд╛рд░реЛрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦреЗрдВ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ - .dockerignoreрдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдЯрд╛рдПрдБред
ЁЯМР рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ
ЁЯУШ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Docker рдкреНрд░рд▓реЗрдЦрди тАФ рд╕рднреА Docker рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд╡реНрдпрд╛рдкрдХ рдЧрд╛рдЗрдб рдФрд░ рд╕рдВрджрд░реНрдн:
https://docs.docker.com/
ЁЯУЩ Docker рдЪреАрдЯ рд╢реАрдЯ тАФ рдкреВрд░реНрдг рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Docker рдЪреАрдЯ рд╢реАрдЯ:
https://dockerlabs.collabnix.com/docker/cheatsheet/
ЁЯУЧ Docker Hub тАФ рдЗрдореЗрдЬ рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдЬрд╝:
https://hub.docker.com/