Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
linux:containers [2025/01/25 06:55] admin |
linux:containers [2025/04/16 06:53] (текущий) admin [Volumes] |
||
---|---|---|---|
Строка 433: | Строка 433: | ||
При повторном создании образа (через Dockerfile), | При повторном создании образа (через Dockerfile), | ||
+ | |||
+ | |||
+ | ==== Volumes ==== | ||
+ | Инструкция " | ||
+ | |||
+ | <code bash> | ||
+ | podman volume create < | ||
+ | podman volume ls / inspect < | ||
+ | |||
+ | # Создание контейнера с примонтированным волюмом (можно не запускать) | ||
+ | podman container create --name < | ||
+ | |||
+ | # Копируем из хоста файлы в волюм, через контейнер | ||
+ | podman cp < | ||
+ | |||
+ | # Теперь в волюме есть нужные данные, | ||
+ | podman run -it -v < | ||
+ | </ | ||
+ | |||
+ | |||
+ | Монтирование папки с хоста в контейнер\\ | ||
+ | Только права на нее назначаются рутовые\\ | ||
+ | <code bash> | ||
+ | podman run -d -v / | ||
+ | podman run -d --mount src=/ | ||
+ | |||
+ | # В Compose | ||
+ | services: | ||
+ | my_app: | ||
+ | image: my_app | ||
+ | container_name: | ||
+ | volumes: | ||
+ | - type: bind | ||
+ | source: / | ||
+ | target: / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
Строка 438: | Строка 477: | ||
===== Docker-compose ===== | ===== Docker-compose ===== | ||
+ | Указание версии в файле либо впринципе устарело либо приобрело новый формат - [[https:// | ||
+ | [[https:// | ||
+ | |||
Оркестрация несколькими контейнерами\\ | Оркестрация несколькими контейнерами\\ | ||
<code bash> | <code bash> | ||
Строка 459: | Строка 501: | ||
< | < | ||
< | < | ||
- | |||
Приложение загружается с собственного registry, перед этим нужно выполнить " | Приложение загружается с собственного registry, перед этим нужно выполнить " | ||
Контейнеры объединяются в общую сеть\\ | Контейнеры объединяются в общую сеть\\ | ||
Строка 560: | Строка 601: | ||
* KAFKA_ADVERTISED_LISTENERS - адреса для клиентов, | * KAFKA_ADVERTISED_LISTENERS - адреса для клиентов, | ||
* режим для межброкерного взаимодействия задается в " | * режим для межброкерного взаимодействия задается в " | ||
- | |||
</ | </ | ||
Строка 658: | Строка 698: | ||
==== Порядок запуска ==== | ==== Порядок запуска ==== | ||
+ | В итоге хз, порядок запуска есть, но только запуск контейнера, | ||
< | < | ||
< | < | ||
- | |||
**condition: | **condition: | ||
Такой порядок запуска работает но учитывается только старт контейнера а не сервиса внутри него\\ | Такой порядок запуска работает но учитывается только старт контейнера а не сервиса внутри него\\ | ||
Строка 731: | Строка 770: | ||
Второй контейнер завершается с err-code и проверка проходит с err-code\\ | Второй контейнер завершается с err-code и проверка проходит с err-code\\ | ||
Но первый сервис все равно стартанул, | Но первый сервис все равно стартанул, | ||
+ | Да, на порядок влияет и влияет хелс-чек, | ||
+ | Да, если зависимость убрать то в обычном порядке стартует, | ||
<code yaml> | <code yaml> | ||
Строка 772: | Строка 813: | ||
volumes: | volumes: | ||
- " | - " | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== PostgreSQL ==== | ||
+ | :!: Примонтировав папку со скриптами в **"/ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | Капец, каждую версию управляющие переменные окружения меняются\\ | ||
+ | В 15ой обязательная переменная **POSTGRES_PASSWORD**, | ||
+ | В 17ой все другое\\ | ||
+ | <code bash> | ||
+ | services: | ||
+ | post-db: | ||
+ | image: " | ||
+ | # env_file: .env | ||
+ | environment: | ||
+ | POSTGRES_DB: | ||
+ | POSTGRES_PASSWORD: | ||
+ | ports: | ||
+ | - " | ||
</ | </ | ||
+ | </ | ||
- | < | + | |
+ | < | ||
+ | < | ||
+ | [[https:// | ||
+ | Монтируем скрипт в директорию **/ | ||
+ | |||
+ | < | ||
+ | services: | ||
+ | sarm-db: | ||
+ | image: " | ||
+ | # env_file: .env | ||
+ | environment: | ||
+ | # POSTGRES_DB: | ||
+ | POSTGRES_PASSWORD: | ||
+ | POSTGRES_MULTIPLE_DATABASES: | ||
+ | volumes: | ||
+ | - ./ | ||
+ | ports: | ||
+ | - " | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | <code bash> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Разное ==== | ||
+ | |||
+ | < | ||
+ | < | ||
+ | Похоже не переопределяет команду запуска контейнера или какие то нюансы есть\\ | ||
+ | Команду нужно писать либо одну либо **bash -c 'first && second' | ||
+ | |||
+ | <code bash> | ||
+ | </ | ||
+ | </ | ||