ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ: 15 ΠΊΠΎΠΌΠ°Π½Π΄ Docker Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ [List, Stop, Start, Remove and More]
Docker β ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² Kubernetes.
Π Docker Π²Ρ Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Docker ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°Ρ ΠΎΠ±ΡΠ°Π· Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ ΠΎΠ±ΡΠ°Π·Ρ. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ β ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ°Π·Π° Docker.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Docker β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ², ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ Ρ ΠΎΡΡΠ°ΠΌΠΈ/ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Docker.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ docker.
ΠΠΎΠΌΠ°Π½Π΄Π° Run
ΠΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° docker ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ· ΠΎΠ±ΡΠ°Π·Π° ΠΏΡΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΎΠ±ΡΠ°Π·Π° ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ/ΠΈΠ»ΠΈ ΡΠ΅Π³Π°.
$ Π΄ΠΎΠΊΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ {ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅}
ΠΡΠΈΠΌΠ΅Ρ:
$ Π΄ΠΎΠΊΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ nginx
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ nginx Π½Π° ΡΠ·Π»Π΅ Π΄ΠΎΠΊΠ΅ΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅Ρ Π½Π° Ρ ΠΎΡΡΠ΅ Docker, ΠΎΠ½ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΎΡΡ Docker (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π·. ΠΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·. Π ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π·Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π·Π°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΅Π΅ Π²Π΅ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅. ΠΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΡΠ΅Π³. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ΅Π³, Π΄ΠΎΠΊΠ΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Docker Π·Π°ΠΏΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ -d.
ΠΡΠΈΠΌΠ΅Ρ:
$ docker run nginx Unable to find image βnginx:latestβ locally latest: Pulling from library/nginx 33847f680f63: Pull complete dbb907d5159d: Pull complete 8a268f30c42a: Pull complete b10cf527a02d: Pull complete c90b090c213b: Pull complete 1f41b2f2bf94: Pull complete Digest: sha256:8f335768880da6baf72b70c701002b45f4932acae8d574dedfddaf967fc3ac90 Π‘ΡΠ°ΡΡΡ: ΠΠ°Π³ΡΡΠΆΠ΅Π½ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· Π΄Π»Ρ nginx: ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ /docker-entrypoint.sh: /docker-entrypoint.d/ Π½Π΅ ΠΏΡΡΡΠΎΠΉ, ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ /docker-entrypoint.sh: ΠΠΎΠΈΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π² /docker-entrypoint.d //docker-entrypoint.sh: ΠΠ°ΠΏΡΡΠΊ /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ / etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ IPv6 Π² /etc/nginx/conf.d/default.conf/docker-entrypoint.sh : ΠΠ°ΠΏΡΡΠΊ /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: ΠΠ°ΠΏΡΡΠΊ /docker-entrypoint.d/30-tune-worker-processe s.sh /docker-entrypoint.sh: Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°; Π³ΠΎΡΠΎΠ² ΠΊ Π·Π°ΠΏΡΡΠΊΡ 15.08.2021 12:13:23 [notice] 1#1: Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΠ±ΡΡΠΈΡ βepollβ 2021/08/15 12:13:23 [notice] 1#1: nginx/1.21.1 2021/08/15 12:13:23 [notice] 1#1: ΡΠΎΠ±ΡΠ°Π½ gcc 8.3.0 (Debian 8.3.0-6) 15.08.2021 12:13:23 [notice] 1#1: ΠΠ‘: Linux 5.8.0-1039-azure 15.08.2021 12:13:23 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2021/08/15 12:13:23 [notice] 1#1: Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ 2021/08/15 12:13:23 [notice] 1#1: Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ 33 2021/08/15 12:13:23 [notice] 1#1: Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ 34
PS ΠΠΎΠΌΠ°Π½Π΄Π°
ΠΠΎΠΌΠ°Π½Π΄Π° docker ps Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΈΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΈΠΌΡ ΠΎΠ±ΡΠ°Π·Π°, Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ ΠΈ ΠΈΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΈΠΌΡ (Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠ²Π½ΠΎ) ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
ΠΡΠΈΠΌΠ΅Ρ:
$ docker ps ΠΠΠΠΠ’ΠΠ€ΠΠΠΠ’ΠΠ ΠΠΠΠ’ΠΠΠΠΠ Π IMAGE COMMAND CREATED STATUS NAMES 133f5e0267a5 nginx β/docker-entrypoint.β¦β 10 ΡΠ΅ΠΊΡΠ½Π΄ Π½Π°Π·Π°Π΄ Up 10 ΡΠ΅ΠΊΡΠ½Π΄ 80/tcp jolly_elion
Π§ΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΈ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ /Π·Π°ΠΊΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
$ Π΄ΠΎΠΊΠ΅Ρ ΠΏΡ -Π°
ΠΡΠΈΠΌΠ΅Ρ:
$ docker ps -a ΠΠΠΠΠ’ΠΠ€ΠΠΠΠ’ΠΠ ΠΠΠΠ’ΠΠΠΠΠ Π IMAGE COMMAND CREATED STATUS NAMES PORTS fcec129f0eb4 nginx β/docker-entrypoint.β¦β 46 ΡΠ°ΡΠΎΠ² Π½Π°Π·Π°Π΄ Exited (0) 46 ΡΠ°ΡΠΎΠ² Π½Π°Π·Π°Π΄interest_ishizaka 6e8b1e441aa6 hello-world β/helloβ 2 Π΄Π½Ρ Π½Π°Π·Π°Π΄ Exited (0) 2 Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄
Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ps, ls ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². Π€Π»Π°Π³ -a ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² (Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ).
$ Π΄ΠΎΠΊΠ΅Ρ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ls
ΠΡΠΈΠΌΠ΅Ρ:
$ docker container ls ΠΠΠΠΠ’ΠΠ€ΠΠΠΠ’ΠΠ ΠΠΠΠ’ΠΠΠΠΠ Π IMAGE COMMAND CREATED STATUS NAMES 15796e91c30b redis βdocker-entrypoint.sβ¦β 2 ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π°Π·Π°Π΄ Up 1 ΡΠ΅ΠΊΡΠ½Π΄Π° 6379/tcp flamboyant_neumann 904390b65d45 nginx β/docker-entrypoint.β¦β 14 ΠΌΠΈΠ½ΡΡ Π½Π°Π·Π°Π΄ Up 14 ΠΌΠΈΠ½ΡΡ 80/ TCP nginx_new $
ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
ΠΠΎΠΌΠ°Π½Π΄Π° docker stop ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ΄Π΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΈΠΌ.
$ Π΄ΠΎΠΊΠ΅Ρ ΡΡΠΎΠΏ {ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ}
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° ΠΎΠ½ Π²Π΅ΡΠ½Π΅Ρ ΠΈΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΠΊΠ΅ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ:
$ docker ps ΠΠΠΠΠ’ΠΠ€ΠΠΠΠ’ΠΠ ΠΠΠΠ’ΠΠΠΠΠ Π IMAGE COMMAND CREATED STATUS NAMES 133f5e0267a5 nginx β/docker-entrypoint.β¦β 50 ΡΠ΅ΠΊΡΠ½Π΄ Π½Π°Π·Π°Π΄ Up 49 ΡΠ΅ΠΊΡΠ½Π΄ 80/tcp jolly_elion
ΠΡΠΎ Π²Π΅ΡΠ½Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΠΠΠ’ΠΠΠΠΠ Π, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
$ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ΅ΡΠ° 133f5 133f5
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΠΠΠ’ΠΠ€ΠΠΠΠ’ΠΠ Π ΠΠΠΠ’ΠΠΠΠΠ Π. ΠΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄ΠΎ ΡΠ°ΡΡΠΈ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Docker Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ.
ΠΊΠΎΠΌΠ°Π½Π΄Π° rm
ΠΠΎΠΌΠ°Π½Π΄Π° docker rm ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.
$ docker rm {ΠΠΠ― ΠΈΠ»ΠΈ ID ΠΠΠΠ’ΠΠΠΠΠ Π}
ΠΡΠΈΠΌΠ΅Ρ:
$ Π΄ΠΎΠΊΠ΅Ρ ΡΠΌ 133f5 133f5 $
ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ exec, ΡΡΠΎΠ±Ρ Π²ΠΎΠΉΡΠΈ Π²Π½ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
$ docker exec βit {ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ} {ΠΊΠΎΠΌΠ°Π½Π΄Π°}
ΠΡΠΈΠΌΠ΅Ρ:
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ bash (ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ Π² ΠΎΠ±ΡΠ°Π·Π΅ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Bash, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ) Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ unruffled_meninsky Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:
$ docker exec β ΡΡΠΎ unruffled_meninsky /bin/bash
ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΡΡ Π²Π°Ρ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ bash. ΠΠ΄Π΅ΡΡ ΡΠ»Π°Π³ -i ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, Π° -t β ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
$ docker exec unruffled_meninsky cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6- Π²ΡΠ΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΡ 172.17.0.2 cd2eed4acf34
ΠΆΡΡΠ½Π°Π»Ρ ΠΠΎΠΌΠ°Π½Π΄Π°
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Π³ΠΎ ΠΆΡΡΠ½Π°Π»Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ logs Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π΅Π³ΠΎ ΠΆΡΡΠ½Π°Π»ΠΎΠ²:
$ docker logs {ΠΠΠ― ΠΈΠ»ΠΈ ID ΠΠΠΠ’ΠΠΠΠΠ Π}
ΠΡΠΈΠΌΠ΅Ρ:
$ docker logs 7da6dcebaf9c /docker-entrypoint.sh: /docker-entrypoint.d/ Π½Π΅ ΠΏΡΡΡ, ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ /docker-entrypoint.sh: ΠΏΠΎΠΈΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π² /docker-entrypoint.d/ /docker-entrypoint .sh: ΠΠ°ΠΏΡΡΠΊ /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ /etc/nginx/conf .d/default.conf 10-listen-on-ipv6-by-default.sh: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ IPv6 Π² /etc/nginx/conf.d/default.conf/docker-entrypoint.sh: Π·Π°ΠΏΡΡΠΊ /docker- entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Π·Π°ΠΏΡΡΠΊ /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°; Π³ΠΎΡΠΎΠ² ΠΊ Π·Π°ΠΏΡΡΠΊΡ 15.08.2021 12:14:09 [notice] 1#1: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΠ±ΡΡΠΈΡ βepollβ 15.08.2021 12:14:09 [notice] 1#1: nginx/1.21.1 15.08.2021 12:14:09 [notice] 1#1: ΡΠΎΠ±ΡΠ°Π½ gcc 8.3.0 (Debian 8.3.0-6) 15.08.2021 12:14:09 [notice] 1#1: ΠΠ‘: Linux 5.8.0-1039-azure 15.08.2021 12:14:09 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 15.08.2021 12:14:09 [notice] 1#1: Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ 2021/08/15 12:14:09 [notice] 1#1: Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ 31 2021/08/15 12:14:09 [notice] 1#1: Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ 32 $
ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
Π§ΡΠΎΠ±Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ localhost, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cp.
$ docker container cp {ΠΠΠ― ΠΠΠΠ’ΠΠΠΠΠ Π ΠΈΠ»ΠΈ ID:SRC_PATH} {DEST_PATH}|-
ΠΡΠΈΠΌΠ΅Ρ:
$ docker container cp quirky_cray:/etc/nginx/nginx.conf nginx.conf.bkp
ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΊΡΠΏΠΎΡΡΠ°
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Docker ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»Π° TAR.
$ docker container export {ΠΠΠ― ΠΠΠΠ’ΠΠΠΠΠ Π ΠΈΠ»ΠΈ ID}
ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ inspect ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
$ docker ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ {ΠΠΠ― ΠΈΠ»ΠΈ ID ΠΠΠΠ’ΠΠΠΠΠ Π}
ΠΠΠ ΠΠ
$ docker container ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ {ΠΠΠ― ΠΈΠ»ΠΈ ID ΠΠΠΠ’ΠΠΠΠΠ Π}
ΡΠ±ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π Π°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ kill Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ»Π°Π³ΠΎΠΌ βsignal ΠΈΠ»ΠΈ -s. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ±ΠΈΡΡ ΠΈΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
$ docker kill {ΠΠΠ― ΠΈΠ»ΠΈ ID ΠΠΠΠ’ΠΠΠΠΠ Π} [βsignal VAL]
ΠΡΠΈΠΌΠ΅Ρ:
$ Π΄ΠΎΠΊΠ΅Ρ ΡΠ±ΠΈΡΡ cd9005a0b5d2 -s 9 cd9005a0b5d2 $
ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΏΡΡΠΌΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ:
$ docker container stats {ΠΠΠ― ΠΈΠ»ΠΈ ID ΠΠΠΠ’ΠΠΠΠΠ Π}
ΠΡΠΈΠΌΠ΅Ρ:
$ docker container stats thirsty_volhard ΠΠΠΠΠ’ΠΠ€ΠΠΠΠ’ΠΠ ΠΠΠΠ’ΠΠΠΠΠ Π ΠΠΠ― Π¦Π % ΠΠ‘ΠΠΠΠ¬ΠΠΠΠΠΠΠ ΠΠΠΠ―Π’Π / ΠΠΠ ΠΠΠΠ§ΠΠΠΠ ΠΠΠΠ―Π’Π % NET I/O BLOCK I/O PIDS 904390b65d45 thirsty_volhard 0.00% 3.406MiB / 7.775GiB 0.04% 1.02kB / 0B 0B / 8.19kB 3
Π²Π΅ΡΡ Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ top Π² Linux, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Ρ Docker Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
$ docker container top {ΠΠΠ― ΠΈΠ»ΠΈ ID ΠΠΠΠ’ΠΠΠΠΠ Π}
ΠΡΠΈΠΌΠ΅Ρ:
$ docker container top thirsty_volhard UID PID PPID C STIME TTY TIME CMD root 2603 2582 0 12:34 ? 00:00:00 nginx: Π³Π»Π°Π²Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ nginx -g daemon Π²ΡΠΊΠ»ΡΡΠ΅Π½; ΡΠΈΡΡΠ΅ΠΌΠ°Π΄+ 2659 2603 0 12:34 ? 00:00:00 nginx: ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ systemd+ 2660 2603 0 12:34 ? 00:00:00 nginx: ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ $
ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ rename.
$ docker container rename {Π‘Π’ΠΠ ΠΠ ΠΠΠ― ΠΠΠΠ’ΠΠΠΠΠ Π} {ΠΠΠΠΠ ΠΠΠ― ΠΠΠΠ’ΠΠΠΠΠ Π}
ΠΡΠΈΠΌΠ΅Ρ:
$ docker ps ΠΠΠΠΠ’ΠΠ€ΠΠΠΠ’ΠΠ ΠΠΠΠ’ΠΠΠΠΠ Π IMAGE COMMAND CREATED STATUS NAMES 904390b65d45 nginx β/docker-entrypoint.β¦β 7Β ΠΌΠΈΠ½ΡΡ Π½Π°Π·Π°Π΄ Up 7Β ΠΌΠΈΠ½ΡΡ β/docker-entrypoint.β¦β 7 ΠΌΠΈΠ½ΡΡ Π½Π°Π·Π°Π΄ Up 7 ΠΌΠΈΠ½ΡΡ 80/tcp nginx_new $
diff ΠΠΎΠΌΠ°Π½Π΄Π°
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ diff.
$ docker container diff {ΠΠΠ― ΠΈΠ»ΠΈ ID ΠΠΠΠ’ΠΠΠΠΠ Π}
ΠΡΠΈΠΌΠ΅Ρ:
$ docker container diff nginx_new C /var C /var/cache C /var/cache/nginx A /var/cache/nginx/uwsgi_temp A /var/cache/nginx/client_temp A /var/cache/nginx/fastcgi_temp A /var /cache/nginx/proxy_temp A /var/cache/nginx/scgi_temp C /etc C /etc/nginx C /etc/nginx/conf.d C /etc/nginx/conf.d/default.conf C /run A / Π·Π°ΠΏΡΡΡΠΈΡΡ /nginx.pid $
Π Π΅Π·ΡΠΌΠ΅
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Doker ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΠ±ΡΠΈΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΎΡ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π°ΡΡ Π²Π°ΠΌ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Docker.
ΠΠ°ΡΠ΅ΠΌ ΡΠ·Π½Π°ΠΉΡΠ΅ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΡΡΡΠ°Ρ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ DevOps.