From c8b731723432c1ccc025e1e4c722f558a91fa3d2 Mon Sep 17 00:00:00 2001 From: igrushekradi Date: Mon, 30 Mar 2026 12:35:39 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9C=D0=B0=D0=BD=D0=B0=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=98.=20=D0=90.=20=D0=BF=D1=80=D0=B8=D0=BA=D1=80=D0=B5?= =?UTF-8?q?=D0=BF=D0=BB=D1=8F=D1=8E=20=D0=BE=D1=82=D1=87=D1=91=D1=82=20?= =?UTF-8?q?=D0=B8=20=D1=82=D1=80=D0=B5=D0=B1=D1=83=D0=B5=D0=BC=D1=8B=D0=B5?= =?UTF-8?q?=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ManatovIA/Dockerfile | 10 ++++++++++ ManatovIA/README.md | 47 ++++++++++++++++++++++++++++++++++++++++++++ ManatovIA/run.sh | 42 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 ManatovIA/Dockerfile create mode 100644 ManatovIA/README.md create mode 100644 ManatovIA/run.sh diff --git a/ManatovIA/Dockerfile b/ManatovIA/Dockerfile new file mode 100644 index 0000000..ff1984a --- /dev/null +++ b/ManatovIA/Dockerfile @@ -0,0 +1,10 @@ +FROM alpine:latest + +RUN apk add --no-cache bash wget + +WORKDIR /root + +COPY run.sh . +RUN chmod +x run.sh + +CMD ["/bin/bash", "run.sh"] diff --git a/ManatovIA/README.md b/ManatovIA/README.md new file mode 100644 index 0000000..2eaa37c --- /dev/null +++ b/ManatovIA/README.md @@ -0,0 +1,47 @@ +# Лабораторная работа 104. Docker + +**Студент:** Манатов И. А. + +## Цель работы + +- Познакомиться с Docker. +- Изучить некоторые базовые команды Linux. + +## Выполнение + +Все задания выполняются внутри контейнера на базе образа **Alpine Linux**. + +### Сборка и запуск + +```bash +docker build -t lab104 . +docker run --network host lab104 +``` + +### Что делает run.sh + +| Задание | Команда | +|---------|---------| +| Создать файл МанатовИА.txt | `touch ~/МанатовИА.txt` | +| День недели | `date +"%A"` | +| Информация о /bin/bash | `ls -la`, `stat` | +| Скачать текст Алисы | `wget` | +| Количество слов | `wc -w alice.txt` | +| Первые/последние строки | `head -19`, `tail -17` | +| Создать test1...test40 | цикл `for` + `mkdir` | +| Удалить каталоги на 3 и 7 | `rmdir` | +| Список каталогов в файл | `ls -d test* > test.txt` | +| Количество строк | `wc -l test.txt` | +| date.txt в кратных 5 | `date +"%Y-%m-%d"` | +| Время в кратных 10 | `date +"%H:%M:%S"` | + +## Что представляет собой /bin/bash + +`/bin/bash` — обычный исполняемый бинарный файл (`regular file`) размером ~789 КБ. +Права доступа `0755` (`-rwxr-xr-x`): владелец root может читать, писать и выполнять; +остальные пользователи — только читать и выполнять. +Это интерпретатор командной строки Bash — программа, которая читает и выполняет команды пользователя. + +## Выводы + +В ходе работы был создан Docker-контейнер на базе Alpine Linux и выполнен набор базовых команд Linux: работа с файлами и каталогами, перенаправление вывода, скачивание файлов, обработка текста. Все действия автоматизированы в виде bash-скрипта, запускаемого через Dockerfile. diff --git a/ManatovIA/run.sh b/ManatovIA/run.sh new file mode 100644 index 0000000..f8086d7 --- /dev/null +++ b/ManatovIA/run.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# 4. Создать файл МанатовИА.txt в домашнем каталоге +touch ~/МанатовИА.txt + +# 5. Вывести текущий день недели +date +"%A" + +# 6. Расширенная информация о /bin/bash +ls -la /bin/bash +stat /bin/bash + +# 7-8. Скачать текст Алисы (wget сохраняет сразу как alice.txt) +echo "nameserver 8.8.8.8" > /etc/resolv.conf +wget http://www.lib.ru/CARROLL/alice.txt + +# 9. Количество слов в alice.txt +wc -w alice.txt + +# 10. Первые 19 строк +head -19 alice.txt + +# 11. Последние 17 строк +tail -17 alice.txt + +# 12. Создать каталоги test1...test40 +for i in $(seq 1 40); do mkdir test$i; done + +# 13. Удалить каталоги, заканчивающиеся на 3 и 7 +rmdir test3 test7 test13 test17 test23 test27 test33 test37 + +# 14. Список каталогов -> test.txt +ls -d test* > test.txt + +# 15. Количество строк в test.txt +wc -l test.txt + +# 16. В каталогах кратных 5 создать date.txt с датой +for i in 5 10 15 20 25 30 35 40; do date +"%Y-%m-%d" > test$i/date.txt; done + +# 17. В каталогах кратных 10 дописать время +for i in 10 20 30 40; do date +"%H:%M:%S" >> test$i/date.txt; done From e3cf57e0cff9e45e4ecf25a6ce90d66e6a97506c Mon Sep 17 00:00:00 2001 From: igrushekradi Date: Mon, 30 Mar 2026 12:42:36 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20Readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ManatovIA/README.md | 61 ++++++++++++++------------------------------- 1 file changed, 19 insertions(+), 42 deletions(-) diff --git a/ManatovIA/README.md b/ManatovIA/README.md index 2eaa37c..dea3f3d 100644 --- a/ManatovIA/README.md +++ b/ManatovIA/README.md @@ -1,47 +1,24 @@ -# Лабораторная работа 104. Docker - +# Практика 104 – Docker **Студент:** Манатов И. А. ## Цель работы - -- Познакомиться с Docker. -- Изучить некоторые базовые команды Linux. - -## Выполнение - -Все задания выполняются внутри контейнера на базе образа **Alpine Linux**. - -### Сборка и запуск - -```bash -docker build -t lab104 . -docker run --network host lab104 -``` - -### Что делает run.sh - -| Задание | Команда | -|---------|---------| -| Создать файл МанатовИА.txt | `touch ~/МанатовИА.txt` | -| День недели | `date +"%A"` | -| Информация о /bin/bash | `ls -la`, `stat` | -| Скачать текст Алисы | `wget` | -| Количество слов | `wc -w alice.txt` | -| Первые/последние строки | `head -19`, `tail -17` | -| Создать test1...test40 | цикл `for` + `mkdir` | -| Удалить каталоги на 3 и 7 | `rmdir` | -| Список каталогов в файл | `ls -d test* > test.txt` | -| Количество строк | `wc -l test.txt` | -| date.txt в кратных 5 | `date +"%Y-%m-%d"` | -| Время в кратных 10 | `date +"%H:%M:%S"` | - -## Что представляет собой /bin/bash - -`/bin/bash` — обычный исполняемый бинарный файл (`regular file`) размером ~789 КБ. -Права доступа `0755` (`-rwxr-xr-x`): владелец root может читать, писать и выполнять; -остальные пользователи — только читать и выполнять. -Это интерпретатор командной строки Bash — программа, которая читает и выполняет команды пользователя. +- Познакомиться с Docker +- Изучить базовые команды Linux + +## Ход работы +1. Создан Dockerfile на базе Alpine Linux +2. Установлены необходимые пакеты: bash, wget +3. Создан скрипт `run.sh` для автоматического выполнения всех команд практики: + - создание файла с фамилией и инициалами + - вывод текущего дня недели + - информация о `/bin/bash` + - скачивание текста "Alice's Adventures in Wonderland" + - подсчёт слов и вывод первых/последних строк + - создание каталогов `test1`–`test40` и удаление кратных 3 и 7 + - сохранение списка каталогов в `test.txt` + - формирование `date.txt` с датой и временем +4. Все действия выполняются в рабочей директории `/app` +5. Dockerfile выполняет сборку и автоматически запускает `run.sh` ## Выводы - -В ходе работы был создан Docker-контейнер на базе Alpine Linux и выполнен набор базовых команд Linux: работа с файлами и каталогами, перенаправление вывода, скачивание файлов, обработка текста. Все действия автоматизированы в виде bash-скрипта, запускаемого через Dockerfile. +В ходе работы был создан Docker-контейнер на базе Alpine Linux и выполнен набор базовых команд Linux: работа с файлами и каталогами, перенаправление вывода, скачивание файлов, обработка текста. Все действия автоматизированы в виде bash-скрипта, запускаемого через Dockerfile. \ No newline at end of file