Лабораторна робота №5 Docker Networking



Назва лабораторної роботи: "Налаштування Docker контейнера з мережевими можливостями за допомогою Dockerfile"

Завдання:

1. Створіть новий каталог для лабораторної роботи та перейдіть в нього.
   mkdir dockerfile_networking_lab
   cd dockerfile_networking_lab


2. Створіть Dockerfile у цьому каталозі для створення Docker образу на базі Alpine.

   # Використання базового образу Alpine
   FROM alpine

   # Встановлення пакетів, необхідних для роботи з мережевими можливостями
   RUN apk update && apk add iproute2 curl
 

3. Додайте команди до Dockerfile для налаштування мережі в контейнері. Наприклад, встановлення IP-адреси та маршрутизації.
   # Решта Dockerfile

   # Налаштування мережі
   RUN ip addr add 192.168.0.2/24 dev eth0
   RUN ip route add default via 192.168.0.1
  

4. Побудуйте Docker образ за допомогою Dockerfile:

   docker build -t networking-image .


5. Запустіть контейнер на основі створеного образу та перевірте налаштування мережі:

 
   docker run -it --name networking-container networking-image /bin/sh
  
   У контейнері виконайте команди:

   # Перевірка IP-адреси
   ip addr show eth0

   # Перевірка маршруту за замовчуванням
   ip route show
  

6. Вийдіть із контейнера та зупиніть його:

   exit
   docker stop networking-container

7. Видаліть контейнер та Docker образ:

   docker rm networking-container
   docker rmi networking-image
 

8. Додайте параметри до Dockerfile для передачі аргументів під час побудови образу. Наприклад, додайте аргумент `IP_ADDRESS` для встановлення IP-адреси.


   ARG IP_ADDRESS=192.168.0.2
   FROM alpine

   # Встановлення пакетів та налаштування мережі
   RUN apk update && apk add iproute2 curl
   RUN ip addr add ${IP_ADDRESS}/24 dev eth0
 

9. Побудуйте новий Docker образ, використовуючи аргументи:

   docker build -t networking-image --build-arg IP_ADDRESS=192.168.1.2 .

10. Після побудови образу переконайтеся, що аргументи були правильно передані та використані у Dockerfile.