Un mémo lors de la construction de l'environnement local de Couchbase avec Docker
Il y avait un environnement local de Vagrant,
Remplacez l'environnement local par Docker.
Commençons par lancer le conteneur Couchbase sans effectuer de réglages détaillés.
-Vérifiez l'image dans Couchbase docker hub repository
→ Puisque la version de production est «4.5.1», utilisez «community-4.5.1».
--Démarrez le conteneur
Pour le moment, commencez comme décrit dans Description
$ docker run -d --name db -p 8091-8094:8091-8094 -p 11210:11210 couchbase:community-4.5.1
$ docker ps
↓ Démarrer OK
Accédez à http: //0.0.0.0: 8091 /
avec un navigateur et confirmez que la console Couchbase est affichée.
Il est possible de définir manuellement le compte et le compartiment en appuyant sur Configuration
, mais comme le but est le codage, nous l'ignorerons ici.
Vérifiez le fonctionnement pour le moment. ..
Créer Dockerfile, docker-compose.yaml
Les paramètres suivants sont nécessaires pour configurer l'environnement local. --Créer un cluster
Dockerfile (également docker-compose.yaml) est décrit afin de mettre les paramètres ci-dessus dans le code.
#Structure du répertoire
local-env
├ docker-compose.yaml
└ mbe-couchbase-container
├ byfield
│ └ all.ddoc #afficher le fichier de définition
├ Dockerfile #Fichier Docker Couchbase
└ configure.sh #Script bash pour configurer Couchbase
# docker-compose.yaml
version: "3.7"
services:
mbe-couchbase:
build: ./mbe-couchbase-container
ports:
- 8091:8091
- 8092:8092
- 8093:8093
- 8094:8094
- 11210:11210
- 11211:11211
environment:
- COUCHBASE_ADMINISTRATOR_USERNAME=couchbase
- COUCHBASE_ADMINISTRATOR_PASSWORD=lcouchbase1
--Définissez les identifiants Couchbase avec COUCHBASE_ADMINISTRATOR_USERNAME
, COUCHBASE_ADMINISTRATOR_PASSWORD
--Dans build:. / Mbe-couchbase-container
, spécifiez ↓ Dockerfile
#Créer Dockerfile
FROM couchbase:community-4.5.1
#Copiez le shell d'initialisation de Couchbase dans le conteneur
COPY ./configure.sh /opt/couchbase
COPY ./byfield/ /opt/couchbase
#Shell d'exécution de la configuration de Couchbase
CMD [ "/opt/couchbase/configure.sh" ]
#Coquille de configuration Couchbase
set -m
#Démarrage du serveur
/entrypoint.sh couchbase-server &
#Définissez approximativement le temps d'attente avant que le serveur API démarre TODO:Je souhaite détecter le démarrage du serveur et poursuivre le traitement.
sleep 30
#Allocation de mémoire de cluster
curl -v -X POST http://127.0.0.1:8091/pools/default -d memoryQuota=4096 -d indexMemoryQuota=4096
#Paramètres de service
curl -v http://127.0.0.1:8091/node/controller/setupServices -d services=kv%2cn1ql%2Cindex
#Paramètres des informations d'identification du serveur Couchbase
curl -v http://127.0.0.1:8091/settings/web -d port=8091 -d username=$COUCHBASE_ADMINISTRATOR_USERNAME -d password=$COUCHBASE_ADMINISTRATOR_PASSWORD
#Levage du bouchon du godet(Le nombre maximum de compartiments est de 10 par défaut,,Si vous souhaitez en créer plus, vous devez modifier les paramètres suivants)
curl -v -u $COUCHBASE_ADMINISTRATOR_USERNAME:$COUCHBASE_ADMINISTRATOR_PASSWORD -X POST http://127.0.0.1:8091/internalSettings -d maxBucketCount=20
#Création de godets
curl -v -u $COUCHBASE_ADMINISTRATOR_USERNAME:$COUCHBASE_ADMINISTRATOR_PASSWORD -X POST http://127.0.0.1:8091/pools/default/buckets -d name=bucket_name -d bucketType=couchbase -d ramQuotaMB=100 -d authType=sasl -d saslPassword=ladd_personal_info1
echo "please wait 30 sec..."
sleep 30
#Paramètres d'affichage
curl -v -u $COUCHBASE_ADMINISTRATOR_USERNAME:$COUCHBASE_ADMINISTRATOR_PASSWORD -X PUT -H "Content-Type: application/json" http://127.0.0.1:8092/bucket_name/_design/api%2Ftest -d @/opt/couchbase/all.ddoc
sleep 15
#Exécution au premier plan
fg 1
--Exécution de conteneur avec docker-compose
$ docker-compose up -d mbe-couchbase
Confirmez le démarrage du bucket.
Couchbase ne trouve pas beaucoup d'articles même si je google. La référence officielle était solide et ce n'était qu'une simple implémentation donc je n'ai eu aucun problème. .. Couchbase n'est-il pas populaire? Il semble que la version cloud soit sortie il y a quelque temps, mais je ne pense pas qu'elle sera utilisée lors du déménagement vers le cloud.
https://blog.couchbase.com/docker-deploy-containerized-java-couchbase-web-application/