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