Оптимальная конфигурация Docker + CouchDB для непрерывного развертывания

Я недавно начал экспериментировать с Docker, и когда дело доходит до развертывания кода (т. е. сервер узлов), он работает очень хорошо. Однако, когда дело доходит до развертывания сервера couchDB это представляет собой проблему. Сложный аспект, вероятно, связан с моим незнанием этой темы.

текущие установки: непрерывное развертывание на инстансе AWS EC2

Вопрос: каждое развертывание удаляет базу данных и переустанавливает couchDB

цель: развертывания не должны удалять и переустанавливать базу данных. Они должны просто обновить конфигурацию couchdb, если она предусмотрена (т. е. отключить режим партии администратора, Добавить пользователя, ...)

Dockerfile:
Довольно просто: FROM couchdb:latest

какие подходы я могу использовать для этого?

8
задан dipole_moment
27.02.2023 5:59 Количество просмотров материала 2592
Распечатать страницу

2 ответа

вы должны сделать объем данных постоянным.

1. Вариант:

подключить каталог Хоста в контейнер

настройки запустить -ПМ -п 5984:5984 -в /СРВ/db_files:/usr/местные/ВАР/Либ/механизмы --имя встроенной klaemo/в CouchDB:1.6.1

2. Вариант:

контейнер хранилища данных (который не сбрасывается после recreateing контейнер в CouchDB)

создать Хранилище данных

настройки создать -в /usr/местные/ВАР/Либ/механизмы --имя хранилища данных с busybox:последний /ОГРН/правда

(также возможно смонтировать каталог хоста в контейнер хранилища данных)

настройки создать -в /СРВ/db_files:/usr/местные/ВАР/Либ/механизмы --имя хранилища данных с busybox:последний /ОГРН/правда

Использовать Хранилище Данных

настройки запустить -д --объемы-из Datastore -п 5984:5984 --имя базы данных db1 klaemo/в CouchDB bash

2
отвечен werty1st 2023-02-28 13:47

Я думаю, что лучший способ настроить CouchDB, не уничтожая весь сервер, - это запустить скрипт с curl.

например, вы можете включить CORS с помощью следующего скрипта (я использую Windows, и экранирование отличается от UNIX), поэтому я создал файл BAT со следующим:

set host=%1
echo %host%

if [%host%] == [] (
    SET host=http://localhost:32770
)

curl -X PUT %host%/_config/httpd/enable_cors -d "\"true\""
curl -X PUT %host%/_config/cors/origins -d "\"*\""
curl -X PUT %host%/_config/cors/credentials -d "\"true\""
curl -X PUT %host%/_config/cors/methods -d "\""GET, PUT, POST, HEAD, DELETE\""
curl -X PUT %host%/_config/cors/headers -d "\"accept, authorization, content-type, origin, referer, x-csrf-token\""
curl -X PUT %host%/mydb

NodeJS имеет плагин, который делает ту же конфигурацию CORS для вас:https://github.com/pouchdb/add-cors-to-couchdb.

используя curl вы можете измените все необходимые конфигурации, включая создание баз данных, пользователей и записей.

1
отвечен pfernandom 2023-02-28 16:04

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх