Инструменты пользователя

Инструменты сайта


linux:containers

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
linux:containers [2025/01/26 09:36]
admin
linux:containers [2025/04/16 06:53] (текущий)
admin [Volumes]
Строка 435: Строка 435:
  
  
 +==== Volumes ====
 +Инструкция "VOLUME" в Dockerfile при сборке, похоже просто создает новый волюм во время сборки, плюс обязывает созданный контейнер постоянно монтировать его при запуске\\
  
 +<code bash>
 +podman volume create <vol_name>
 +podman volume ls / inspect <vol_name> / rm <vol_name>
  
-===== Docker-compose =====+# Создание контейнера с примонтированным волюмом (можно не запускать) 
 +podman container create --name <container_name> -v <vol_name>:/inside_folder <image_name>
  
 +# Копируем из хоста файлы в волюм, через контейнер
 +podman cp <host_dir>/ <container_name>:/<inside_folder>
 +
 +# Теперь в волюме есть нужные данные, персистентно и им можно пользоваться в других контейнерах
 +podman run -it -v <vol_name>:/inside_folder <image_name>
 +</code>
 +
 +
 +Монтирование папки с хоста в контейнер\\
 +Только права на нее назначаются рутовые\\
 +<code bash>
 +podman run -d -v /path/host_dir:/container_dir <image_name>
 +podman run -d --mount src=/path/host_dir,target=/container_dir,type=bind <image_name>
 +
 +# В Compose
 +services:
 +  my_app:
 +    image: my_app
 +    container_name: my_app
 +    volumes:
 +      - type: bind
 +        source: /path/host_dir
 +        target: /container_dir
 +
 +</code>
 +
 +
 +
 +
 +
 +
 +===== Docker-compose =====
 Указание версии в файле либо впринципе устарело либо приобрело новый формат - [[https://docs.docker.com/reference/compose-file/]]\\ Указание версии в файле либо впринципе устарело либо приобрело новый формат - [[https://docs.docker.com/reference/compose-file/]]\\
 +[[https://docs.docker.com/reference/compose-file|Docs]]\\
  
 Оркестрация несколькими контейнерами\\ Оркестрация несколькими контейнерами\\
Строка 779: Строка 818:
  
  
-==== Разное ==== +==== PostgreSQL ==== 
- +:!: Примонтировав папку со скриптами в **"/docker-entrypoint-initdb.d"** внутри контейнера, можно выполнять любой функционал с БД внутри контейнера, после инициализации сервера\\
-<details> +
-<summary>:!: Command</summary> +
-Похоже не переопределяет команду запуска контейнера или какие то нюансы есть\\ +
-Команду нужно писать либо одну либо **bash -c 'first && second'** +
- +
-<code bash> +
-</code> +
-</details> +
  
  
 <details> <details>
-<summary>:!: PostgreSQL</summary>+<summary>:!: Общий пример</summary>
 Капец, каждую версию управляющие переменные окружения меняются\\ Капец, каждую версию управляющие переменные окружения меняются\\
 В 15ой обязательная переменная **POSTGRES_PASSWORD**, для создания БД - **POSTGRES_DB**\\ В 15ой обязательная переменная **POSTGRES_PASSWORD**, для создания БД - **POSTGRES_DB**\\
Строка 807: Строка 837:
     ports:     ports:
       - "5432:5432"       - "5432:5432"
 +</code>
 +</details>
 +
 +
 +
 +<details>
 +<summary>:!: МультиБД</summary>
 +[[https://github.com/mrts/docker-postgresql-multiple-databases|Src]]\\
 +Монтируем скрипт в директорию **/docker-entrypoint-initdb.d** внутри контейнера, он создает несколько БД\\
 +
 +<code bash>
 +services:
 +  sarm-db:
 +    image: "postgres:15-alpine3.20"
 +#    env_file: .env
 +    environment:
 +#      POSTGRES_DB: "my_db"
 +      POSTGRES_PASSWORD: "ppp"
 +      POSTGRES_MULTIPLE_DATABASES: my_db1,my_db2
 +    volumes:
 + - ./extended_scripts:/docker-entrypoint-initdb.d
 +    ports:
 +      - "5432:5432"
 +</code>
 +</details>
 +
 +
 +
 +<details>
 +<summary>:!:  </summary>
 +
 +<code bash>
 +</code>
 +</details>
 +
 +
 +
 +
 +
 +==== Разное ====
 +
 +<details>
 +<summary>:!: Command</summary>
 +Похоже не переопределяет команду запуска контейнера или какие то нюансы есть\\
 +Команду нужно писать либо одну либо **bash -c 'first && second'**
 +
 +<code bash>
 </code> </code>
 </details> </details>
linux/containers.1737884170.txt.gz · Последнее изменение: 2025/01/26 09:36 — admin