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..dea3f3d --- /dev/null +++ b/ManatovIA/README.md @@ -0,0 +1,24 @@ +# Практика 104 – Docker +**Студент:** Манатов И. А. + +## Цель работы +- Познакомиться с 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. \ No newline at end of file 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