Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions ManatovIA/Dockerfile
Original file line number Diff line number Diff line change
@@ -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"]
24 changes: 24 additions & 0 deletions ManatovIA/README.md
Original file line number Diff line number Diff line change
@@ -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.
42 changes: 42 additions & 0 deletions ManatovIA/run.sh
Original file line number Diff line number Diff line change
@@ -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