first commit
This commit is contained in:
commit
9a6d7a7799
29
Dockerfile
Normal file
29
Dockerfile
Normal file
@ -0,0 +1,29 @@
|
||||
# образ с JDK
|
||||
FROM eclipse-temurin:17
|
||||
# обновление пакетов, установка git
|
||||
RUN apt-get update && apt-get install -y git
|
||||
|
||||
# клонирование репозитория проекта
|
||||
RUN git clone https://git.athene.tech/is.ulstu.ru/os-test-app /opt/WebProject
|
||||
|
||||
# выдача прав gradlew
|
||||
RUN chmod +x /opt/WebProject/gradlew
|
||||
|
||||
# установка Gradle
|
||||
RUN apt-get install -y gradle
|
||||
|
||||
# установка окружения (рабочей директории) для проекта
|
||||
WORKDIR /opt/WebProject
|
||||
|
||||
# сборка проекта с помощью gradle
|
||||
RUN ./gradlew build
|
||||
|
||||
# переменные окружения приложения
|
||||
ENV DB_HOST=db
|
||||
ENV DB_PORT=5432
|
||||
ENV DB_USER=user
|
||||
ENV DB_PASSWORD=password
|
||||
ENV DB_NAME=dbname
|
||||
|
||||
# запуск приложения при запуске контейнера
|
||||
CMD ["./gradlew", "bootRun", "-Prod"]
|
13
docker-compose.service
Normal file
13
docker-compose.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Some personal Docker containers
|
||||
After=docker.service
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes # чтобы считать службу активной после завершения процесса
|
||||
ExecStart=docker compose -f /opt/project/docker-compose.yml up --detach
|
||||
ExecStop=docker compose -f /opt/project/docker-compose.yml stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
22
docker-compose.yml
Normal file
22
docker-compose.yml
Normal file
@ -0,0 +1,22 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
app:
|
||||
image: ujijrujijr/os_lab5
|
||||
#build: . # для сборки проекта из соседнего Dockerfile
|
||||
ports:
|
||||
- "8081:8080"
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
image: postgres:13
|
||||
environment:
|
||||
- POSTGRES_USER=user
|
||||
- POSTGRES_PASSWORD=password
|
||||
- POSTGRES_DB=dbname
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
db-data:
|
45
Шпаргалка по Docker.sh
Normal file
45
Шпаргалка по Docker.sh
Normal file
@ -0,0 +1,45 @@
|
||||
# справочная информация
|
||||
docker --help # список доступных команд
|
||||
docker <command> --help # информация по команде
|
||||
|
||||
docker --version # версия Docker
|
||||
docker info # общая информация о системе
|
||||
|
||||
# работа с образами
|
||||
docker search debian # поиск образов по ключевому слову debian
|
||||
|
||||
docker pull ubuntu # скачивание последней версии (тег по умолчанию latest) официального образа ubuntu (издатель не указывается) из репозитория по умолчанию docker.io/library
|
||||
docker pull prom/prometheus # скачивание последней версии (latest) образа prometheus от издателя prom из репозитория docker.io/prom
|
||||
docker pull docker.io/library/ubuntu:18.04 # скачивание из репозитория docker.io официального образа ubuntu с тегом 18.04
|
||||
|
||||
docker images # просмотр локальных образов
|
||||
|
||||
docker rmi <image_name>:<tag> # удаление образа. Вместо <image_name>:<tag> можно указать <image_id>. Для удаления образа все контейнеры на его основе должны быть как минимум остановлены
|
||||
docker rmi $(docker images -aq) # удаление всех образов
|
||||
|
||||
# работа с контейнерами
|
||||
docker run hello-world # Hello, world! в мире контейнеров
|
||||
docker run -it ubuntu bash # запуск контейнера ubuntu и выполнение команды bash в интерактивном режиме
|
||||
docker run --name docker-getting-started --publish 8080:80 docker/getting-started # запуск контейнера gettind-started с отображением (маппингом) порта 8080 хоста на порт 80 внутрь контейнера
|
||||
docker run --detach --name mongodb docker.io/library/mongo:4.4.10 # запуск контейнера mongodb с именем mongodb в фоновом режиме. Данные будут удалены при удалении контейнера!
|
||||
|
||||
docker ps # просмотр запущенных контейнеров
|
||||
docker ps -a # просмотр всех контейнеров (в том числе остановленных)
|
||||
docker stats --no-stream # просмотр статистики
|
||||
|
||||
docker start alpine # создание контейнера из образа alpine
|
||||
|
||||
docker start <container_name> # запуск созданного контейнера. Вместо <container_name> можно указать <container_id>
|
||||
docker start $(docker ps -a -q) # запуск всех созданных контейнеров
|
||||
|
||||
docker stop <container_name> # остановка контейнера. Вместо <container_name> можно указать <container_id>
|
||||
docker stop $(docker ps -a -q) # остановка всех контейнеров
|
||||
|
||||
docker rm <container_name> # удаление контейнера. Вместо <container_name> можно указать <container_id>
|
||||
docker rm $(docker ps -a -q) # удаление всех контейнеров
|
||||
|
||||
# система
|
||||
docker system info # общая информация о системе (соответствует docker info)
|
||||
docker system df # занятое место на диске
|
||||
docker system prune -af # удаление неиспользуемых данных и очистка диска
|
||||
|
Loading…
Reference in New Issue
Block a user