лаба9
.docxФедеральное государственное автономное образовательное учреждение
высшего профессионального образования
«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра «Комплексная защиты информации»
Лабораторная работа
по курсу «Базы данных»
Лабораторная работа №9
Выполнили:
Студентки 2-го курса
гр. …………..
Принял:
Самотуга А.Е.
Омск 2022
Установка Kali Linux
Рис. 1 Выбор языка
Рис. 2 Выбор местонахождения
Рис. 3 Настройка клавиатуры
Рис. 4 Настройка сети (Ввод имени компьютера)
Рис. 5 Ввод имени домена
Рис. 6 Настройка учетной записи
Рис. 7 Настройка учетной записи
Рис. 8 Настройка паролей
Рис. 9 Настройка времени
Рис. 10 Метод разметки дисков
Рис. 11 Выбор диска для разметки
Рис. 12 Выбор схемы разметки
Рис. 13 Завершение разметки дисков
Рис. 14 Запись изменений на диск
Рис. 15 Установка базовой системы
Рис. 16 Выбор ПО
Рис. 17 Установка системного загрузчика GRUB
Рис. 18 Выбор устройства для установки системного загрузчика
Рис. 19 Авторизация
Рис. 20 Рабочий стол
Часть 1
Цель: познакомиться с основными возможностями docker.
Задачи:
1. Познакомиться с процессом установки docker.
2. Познакомиться с управлением контейнерами
3. Выполнить шаги, оформить отчет.
Шаг 1. Обновление пакетов
Рис. 21 Обновление пакетов
Шаг 2. Установка докера
Рис. 22 Установка докера
Шаг 3. Запуск сервиса docker вместе с запуском ОС
Рис. 23 Запуск сервиса docker вместе с запуском ОС
Шаг 4. Запуск докера без sudo
Рис. 24 Запуск докера без sudo
Шаг 5. Проверка успешной установки
Рис. 25 Проверка успешной установки
Шаг 6. Запуск контейнера hello-world (docker run hello-world)
Рис. 26 Запуск контейнера hello-world (docker run hello-world)
Шаг 7. Выполнение команды docker ps
Рис. 27 Выполнение команды docker ps
Шаг 8. Выполнение команды docker ps –а
Рис. 28 Выполнение команды docker ps –а
Шаг 9. Удаление контейнера с hello-world (docker rm <id контейнера>)
Рис. 29 Удаление контейнера с hello-world (docker rm <id контейнера>)
Шаг 10. Запуск контейнера (docker run --name db-task-0 -e MYSQL_ROOT_PASSWORD=my-pass -p 127.0.0.1:3305:3306 –d)
Рис. 30 Запуск контейнера (docker run --name db-task-0 -e MYSQL_ROOT_PASSWORD=my-pass -p 127.0.0.1:3305:3306 –d)
Шаг 11. Выполнение команды docker ps –а
Рис. 31 Выполнение команды docker ps –а
Шаг 12. Подключение к контейнеру
Рис. 32 Подключение к контейнеру
Шаг 13. Выполнение запроса show databases
Рис. 33 Выполнение запроса show databases
Шаг 14. Остановка контейнера (docker stop db-task-0) и его удаление (docker rm db-task-0)
Рис. 34 Остановка контейнера (docker stop db-task-0) и его удаление (docker rm db-task-0)
Часть 2
Цель: познакомиться с redis.
Задачи:
1. Развернуть redis
2. Выполнить задания
3. Оформить и сдать отчет
Шаг 1. Запуск redis-server (docker run --name redis-server -d redis redis-server --appendonly yes)
Рис. 35 Запуск redis-server (docker run --name redis-server -d redis redis-server --appendonly yes)
Шаг 2. Подключение к redis-server через консольный клиент (docker run -it --link redis-server:redis --rm redis redis-cli -h redis -p 6379)
Рис. 36 Подключение к redis-server через консольный клиент (docker run -it --link redis-server:redis --rm redis redis-cli -h redis -p 6379)
Шаг 3. Ввод команды ping
Рис. 37 Ввод команды ping
Шаг 4. Создание переменной (SET mykey “Hello”) и её считывание (GET mykey)
Рис. 38 Создание переменной (SET mykey Hello) и её считывание (GET mykey)
Шаг 5. Запрос данных по ключу, которого ещё нет (GET notmykey)
Рис. 39 Запрос данных по ключу, которого ещё нет (GET notmykey)
Шаг 6. Проверка регистрозависимы ли ключи
Рис. 40 Проверка регистрозависимы ли ключи
Шаг 7. Создание ключа и запись туда 0 числом
Рис. 41 Создание ключа и запись туда 0 числом
Шаг 8. Увеличение ключа на 1(INCR mycounter)
Рис. 42 Увеличение ключа на 1(INCR mycounter)
Шаг 9. Получение и перезапись счётчика (GETSET notmykey 15)
Рис. 43 Получение и перезапись счётчика (GETSET notmykey 15)
Шаг 10. Проверка существования ключа (EXISTS mykey)
Рис. 44 Проверка существования ключа (EXISTS mykey)
Шаг 11. Удаление ключа (DEL mykey)
Рис. 45 Удаление ключа (DEL mykey)
Шаг 12. Добавление к ключу строки “Hello” (APPEND mykey “Hello”)
Рис. 46 Добавление к ключу строки “Hello” (APPEND mykey “Hello”)
Шаг 13. Добавление к ключу строки “World” (APPEND mykey “World”)
Рис. 47 Добавление к ключу строки “World” (APPEND mykey “World”)
Шаг 14. Вывод результата (GET mykey)
Рис. 48 Вывод результата (GET mykey)
Шаг 15. Завершение redis-server (shutdown)
Рис. 49 Завершение redis-server (shutdown)
Часть 3
Цель: Изучить процесс миграции БД.
Задачи:
1. Подготовить стенд (нужные контейнеры)
2. Выполнить шаги по заданию
3. Оформить и сдать отчет
Шаг 1. Создание папку app
Рис. 50 Создание папки app
Шаг 2. Создание Composer.phar контейнера и папки basic
Рис. 51 Создание Composer.phar
Рис. 52 Создание папки basic
Шаг 3. Создание контейнера mysql
Рис. 53 Создание контейнера mysql
Шаг 4. Создание контейнера apache
Рис. 54 Создание контейнера apache
Шаг 5. Создание докер файла
Рис. 55 Докер файла
Шаг 6. Собираем образ
Рис. 56 Созданный образ
Шаг 7. Запуск контейнера с этим образом
Рис. 57 Запуск контейнера с образом
Рис. 58 Веб-страница
Шаг 8. Установка расширения
Рис. 59 Установка расширения
Шаг 9. Создание базы данных yii
Рис. 60 Создание бд yii
Шаг 10. Создание миграций
Рис. 61 Создание миграций
Рис. 62 Файлы с миграциями
Шаг 11. Конфигурация файлов с миграциями
Рис. 63 Конфигурация таблицы stud
Рис. 64 Конфигурация таблицы cafedra
Рис. 65 Конфигурация таблицы faculty
Шаг 12. Запуск миграции
Рис. 66 Запуск миграции
Шаг 13. Проверка наличия таблиц в базе данных
Рис. 67 Проверка наличия таблиц
Часть 4.
Цель: Научиться создавать свой образ докера, редактировать его, загружать и
скачивать с Docker Hub, импортировать и экспортировать контейнер.
Задачи:
1) Ознакомиться с заданием
2) Выполнить его
3) Оформить отчет
Шаг 1. Создание образа ngnx
Рис. 68 Создание каталога для размещения Dockerfile
Рис. 69 Конфигурация файла Dockerfile
Рис. 70 Создание образа
Шаг 2. Запуск образа
Рис. 71 Запуск образа
Рис. 72 Веб-страница
Шаг 3. Скачивание образа OC CentOS
Рис. 73 Установка образа OC CentOS
Шаг 4. Добавление нового пользователя и файла с текстом в образ
Рис. 74 Изменение образа
Шаг 5. Коммитим образ
Рис. 75 Коммит образа
Шаг 6. Создание репозитория на DockerHub
Рис. 76 Создание репозитория
Шаг 7. Вход в учетную запись
Рис. 77 Вход в учетную запись
Шаг 8. Загрузка образов в репозиторий
Рис. 78 Загрузка первого образа
Рис. 79 Загрузка второго образа
Рис. 80 Загруженные теги
Шаг 9. Создание резервной копии контейнера с образом
Рис. 81 Создание резервной копии
Рис. 82 Файл с контейнером
Шаг 10. Установка docker-compose
Рис. 83 Установка docker-compose
Шаг 11. Использование docker-compose для нескольких созданных ранее контейнеров
Рис. 84 Код в docker-compose.yml
Код для docker-composer
version: "3"
services:
apache:
image: php:7.0-apache
container_name: 'yii-php-apache'
restart: 'always'
ports:
- "8080:80"
volumes:
- ./var/www/html
- ./php/php.ini:/usr/local/etc/php/php.ini
- ./sites-enabled:/etc/apache2/sites-enabled
- apache-logs:/var/log/apache2
mysql:
image: mysql
container_name: 'yii-mysql'
restart: 'always'
volumes:
- mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 123
MYSQL_DATABASE: yii
MYSQL_USER: root
MYSQL_PASSWORD: 123
phpmyadmin:
image: phpmyadmin
container_name: 'phpmyadmin'
environment:
PMA_HOST: mysql
PMA_PORT: 3306
ports:
- '3305:3306'
volumes:
apache-logs:
mysql-data: