ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠΎΠΌΠΈΠΌΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ COPY, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ADD ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Dockerfile Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΏΠ°ΠΏΠΎΠΊ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π½Π° ΠΎΠ±ΡΠ°Π· Docker.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΆΠ°ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π² ΠΎΠ±ΡΠ°Π· Docker.
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ADD Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ Π² ΠΎΠ±ΡΠ°Π· Docker.
Β ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ADD Π² Dockerfile?
ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΏΠΊΠΈ Ρ Ρ ΠΎΡΡΠ° Π² ΠΎΠ±ΡΠ°Π· Docker, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈ ΠΏΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Dockerfile.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ADD:
ADD <src> <dest>
- <src>: ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ, Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΈΠ»ΠΈ URL.
- <dest>: ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΠ±ΡΠ°Π·Π° Docker, ΠΊΡΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, Π½ΠΎ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·Π΅ Docker.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π· Docker Ρ ΠΏΠΎΠΌΠΎΡΡΡ Dockerfile ADD
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ Π² ΠΎΠ±ΡΠ°Π· Docker, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠ°ΠΏΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΡΡΠΎ ΠΈ Dockerfile.
ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° docker build Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΌ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Dockerfile, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Docker ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²:
package/
βββ Nginx-App/
β βββ Dedicated-to-Amara.txt
β βββ index.html
βββ Dockerfile
ΠΠ· ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ package – ΡΡΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π° ΠΏΠ°ΠΏΠΊΠ° Nginx-App ΠΈ Dockerfile – ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² Π½Π΅ΠΌ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠΎ ΠΈ Dockerfile, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π²ΡΡ ΠΏΠ°ΠΏΠΊΡ ΡΠ΅ΡΠ΅Π· ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Dockerfile ADD.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ Π½Π°Ρ Dockerfile:
$ nano Dockerfile
ΠΠ°Π»Π΅Π΅ ΡΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ Π½Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Π² ΠΎΠ±ΡΠ°Π· Docker Ρ ΠΏΠΎΠΌΠΎΡΡΡ Dockerfile:
# Base Image
FROM nginx:alpine
# Adds the Nginx-App directory to the NGINX document root
ADD Nginx-App/ /usr/share/nginx/html/Nginx-App
# Exposes port 80
EXPOSE 80
# Starts Nginx
CMD ["nginx", "-g", "daemon off;"]
ΠΠΎ ΡΡΡΠΈ, Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ADD, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π² ΡΡΡΠΎΠΊΠ΅ 2, ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΏΠ°ΠΏΠΊΡ Nginx-App ΠΈΠ· ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² /usr/share/nginx/html/ Π² ΠΎΠ±ΡΠ°Π·Π΅ Docker.
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ docker build Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ:
$ docker build -t nginx-image .
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Docker Π½Π° ΡΠ±ΠΎΡΠΊΡ ΠΎΠ±ΡΠ°Π·Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ Π² ΡΠ°ΠΉΠ»Π΅.
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx-image latest 40b1d9d4a8a5 About a minute ago 43.2MB
Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ²ΠΎΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΌΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΠ±ΡΠ°Π·.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΠ°ΠΏΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±ΡΠ°Π·Π΅:
$ docker run -it --rm nginx-image /bin/ash
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ· ΠΎΠ±ΡΠ°Π·Π° nginx-image ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ash.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ash Π·Π΄Π΅ΡΡ ΡΠΌΠ΅ΡΡΠ½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ°Π· ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Alpine Linux.
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ:
$ docker run -it --rm nginx-image /bin/ash
/ # cd /usr/share/nginx/html/Nginx-App
/usr/share/nginx/html/Nginx-App # ls
Dedicated-to-Amara.txt index.html
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠ°ΠΏΠΊΠ° ΠΈ Π²ΡΠ΅ Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΡΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΎΠ±ΡΠ°Π· Docker.
4. ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΆΠ°ΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΆΠ°ΡΡΡ ΠΏΠ°ΠΏΠΊΡ Π² ΠΎΠ±ΡΠ°Π· Docker, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΡ.
ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² ADD Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°Π·Π΅.
ΠΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡ tar Π² ΠΎΠ±ΡΠ°Π· Docker:
# Base Image
FROM nginx:alpine
# Adds the compressed Nginx-App folder to the NGINX document root
ADD Nginx-App.tar.gz /usr/share/nginx/html/Nginx-App/
# Exposes port 80
EXPOSE 80
# Starts Nginx
CMD ["nginx", "-g", "daemon off;"]
ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ build image:
$ docker build -t nginx-image .
Sending build context to Docker daemon 5.632kB
Step 1/4 : FROM nginx:alpine
---> 1ae23480369f
Step 2/4 : ADD Nginx-App.tar.gz /usr/share/nginx/html/Nginx-App/
...
Successfully built c6f60de9c196
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΌΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ tar Π² ΠΎΠ±ΡΠ°Π· Docker.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄, ΡΡΠΎ ΠΈ Π²ΡΡΠ΅.
5. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ADD Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ Π² Π½Π°Ρ ΠΎΠ±ΡΠ°Π·.
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ ΠΈ ΠΏΡΠΎΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΆΠ°ΡΡΡ ΠΏΠ°ΠΏΠΎΠΊ Π² ΠΎΠ±ΡΠ°Π·.
ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ADD Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΠΆΠ°ΡΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²Π½Π΅ΡΡΠΈ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΡΠ΅Π΄Ρ Docker.
ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅:
- π’Β Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Dockerfile ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ°Π· Docker?
- π³Β ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΡΡΠ°Π²ΡΠ΅Π΅ΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Docker Overlay
- π³Β Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Docker Exec ΠΈ Docker Attach
- π³Β Π Π°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π·Π° Docker: ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ
![]()
