Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
informatique:aides:docker [2021/12/29 16:57] – [Sauvegarde rapide Wordpress : amandine-cuir.com] jpmilcent | informatique:aides:docker [2024/12/31 10:31] (Version actuelle) – [Renommer un volume] jpmilcent |
---|
===== Notes ===== | ===== Notes ===== |
* Dockerfile : | * Dockerfile : |
* ''ADD --chown=user:group my-backup.tar.gz /var/www '' : chown n'a aucun effet sur les fichiers et dossiers extrait d'un fichier compressé et c'est normal... | * ''%% ADD --chown=user:group my-backup.tar.gz /var/www %%'' : chown n'a aucun effet sur les fichiers et dossiers extrait d'un fichier compressé et c'est normal... |
* Dans un Dockerfile appelé depuis un fichier docker-compose.yml où des volumes nommées sont créés, la commande chown n'aura aucun effet car les volumes sont créés préalablement... | * Dans un Dockerfile appelé depuis un fichier docker-compose.yml où des volumes nommées sont créés, la commande chown n'aura aucun effet car les volumes sont créés préalablement... |
| |
* Utiliser ensuite la commande ''cp'' pour restaurer les données : ''docker cp ~/backup_dir shaarli_data_1:/usr/share/nginx/shaarli/data/'' | * Utiliser ensuite la commande ''cp'' pour restaurer les données : ''docker cp ~/backup_dir shaarli_data_1:/usr/share/nginx/shaarli/data/'' |
| |
==== Sauvegarde rapide de Shaarli : bookmarks.clapas.org ==== | ===== Renommer un volume ===== |
* Se placer dans le dossier suivant : ''cd /home/admin/yilgarn/boomarks.clapas.org'' | * Pas de solution évidente. Il faut aussi créer les volumes avec Docker Compose sinon nous avons un message d'avertissement. |
* Créer un dossier //backup// : ''mkdir backup'' | * Arrêter les containers : <code bash>docker compose down</code> |
* Sauvegarde du dossier ''/data'' : <code bash>docker run --rm --volumes-from bookmarks.clapas.org_shaarli -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_shaarli_data_backup.tar.bz2 /var/www/shaarli/data ; chown 1001:1001 /backup/*.bz2" </code> | * Renommer le dossier et vérifier le contenu du fichier ''docker-compose.yml'' |
* Vérifier sur l'hôte la présence du nouveau fichier ''.tar.bz2'' dans le dossier ''./backup/'' | * Créer le nouveau volume ''new_volume'' associé à la stack Docker Compose avec : <code bash>docker compose up -d; docker compose down</code> |
* Commande d'accès au container : ''docker exec -it bookmarks.clapas.org_shaarli /bin/sh'' | * Copier les données de l'ancien ''old_volume'' vers le nouveau volume ''new_volume'' avec : <code bash>docker run --rm -it -v old_volume:/from -v new_volume:/to alpine ash -c 'cd /from ; cp -av . /to'</code> |
==== Sauvegarde rapide Dokuwiki : memos.clapas.org ==== | * Relancer le container et vérifier que tout fonctionne correctement : <code bash>docker compose up -d</code> |
* Se placer dans le dossier suivant : ''cd /home/admin/yilgarn/memos.clapas.org'' | * Si tout est ok, supprimer l'ancien volume : <code bash>docker volume rm old_volume</code> |
* Créer un dossier //backup// : ''mkdir backup'' | |
* Créer successivement les sauvegardes avec les commandes :<code bash> | |
docker run --rm --volumes-from memos.clapas.org_dokuwiki -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_data.tar.bz2 /var/www/html/data ; chown 1001:1001 /backup/*.bz2" | |
docker run --rm --volumes-from memos.clapas.org_dokuwiki -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_conf.tar.bz2 /var/www/html/conf ; chown 1001:1001 /backup/*.bz2" | |
docker run --rm --volumes-from memos.clapas.org_dokuwiki -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_plugins.tar.bz2 /var/www/html/lib/plugins ; chown 1001:1001 /backup/*.bz2" | |
docker run --rm --volumes-from memos.clapas.org_dokuwiki -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_tpl.tar.bz2 /var/www/html/lib/tpl ; chown 1001:1001 /backup/*.bz2" | |
</code> | |
| |
==== Sauvegarde rapide Wallabag : wallabag.clapas.org ==== | |
* Se placer dans le dossier suivant : ''cd /home/admin/yilgarn/wallabag.clapas.org'' | |
* Créer un dossier //backup// si nécessaire : ''mkdir backup'' | |
* Lancer successivement les sauvegardes avec les commandes : <code bash> | |
docker run --rm --volumes-from wallabag.clapas.org -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_wallabag_data_backup.tar.bz2 /var/www/wallabag/data ; chown 1001:1001 /backup/*.bz2" | |
docker run --rm --volumes-from wallabag.clapas.org -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_wallabag_images_backup.tar.bz2 /var/www/wallabag/web/assets/images ; chown 1001:1001 /backup/*.bz2" | |
</code> | |
* **Notes** : l'image //bradynpoulsen/archive-utils// contient le binaire //bzip2// non disponible dans les images Debian de base... | |
| |
==== Sauvegarde rapide Passbolt : pwd.clapas.org ==== | |
* Se placer dans le dossier suivant : ''cd /home/admin/yilgarn/pwd.clapas.org'' | |
* Créer un dossier //backup// si nécessaire : ''mkdir backup'' | |
* Lancer successivement les sauvegardes avec les commandes : <code bash> | |
docker exec pwd-clapas-database sh -c 'exec mysqldump --databases pwd -uroot -p"$MYSQL_ROOT_PASSWORD"' > "backup/$(date +"%Y-%m-%d")_db_backup.sql" | |
docker run --rm --volumes-from pwd-clapas-passbolt -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_gpg_backup.tar.bz2 /var/www/passbolt/config/gpg ; chown 1001:1001 /backup/*.bz2" | |
docker run --rm --volumes-from pwd-clapas-passbolt -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_img_backup.tar.bz2 /var/www/passbolt/webroot/img/public ; chown 1001:1001 /backup/*.bz2" | |
</code> | |
* **Notes** : la sauvegarde de la base de données Mariadb et des dossiers se fait avec le container actif. | |
| |
==== Sauvegarde rapide Wordpress : amandine-cuir.com ==== | |
* Se placer dans le dossier suivant : ''cd /home/admin/yilgarn/amandine-cuir.com'' | |
* Créer un dossier //backup// si nécessaire : ''mkdir backup'' | |
* Lancer successivement les sauvegardes avec les commandes : <code bash> | |
docker exec amandine-cuir-database sh -c 'exec mysqldump --databases amandine_cuir -uroot -p"$MYSQL_ROOT_PASSWORD"' > "backup/$(date +"%Y-%m-%d")_db_backup.sql" | |
docker run --rm --volumes-from amandine-cuir-cms -v $(pwd)/backup:/backup bradynpoulsen/archive-utils /bin/bash -c "tar -cjf /backup/$(date +"%Y-%m-%d")_wp-content_backup.tar.bz2 /var/www/html/wp-content ; chown 1001:1001 /backup/*.bz2" | |
</code> | |
* Pour synchroniser : | |
* du dossier local vers le serveur : <code bash>rsync -av --exclude wp-content/ --exclude backup/ --exclude database/ --exclude test/ ./amandine-cuir.com/ admin@yilgarn:/home/admin/yilgarn/amandine-cuir.com/</code> | |
* du seveur vers le dossier local : <code bash>rsync -av admin@yilgarn:/home/admin/yilgarn/amandine-cuir.com/ ./amandine-cuir.com/ </code> | |
| |
===== Passbolt ===== | |
==== JWT appli mobile ==== | |
ATTENTION : après chaque redémarrage du docker, il est nécessaire de relancer les commandes ci-dessous : | |
* Se connecter au container : ''docker exec -it pwd-clapas-passbolt /bin/bash'' | |
* Créer le dossier : ''mkdir -m=770 /etc/passbolt/jwt'' | |
* Donner les bons droits : ''chown www-data:www-data /etc/passbolt/jwt/'' | |
* Créer les clés JWT : ''su -s /bin/bash -c "/usr/share/php/passbolt/bin/cake passbolt create_jwt_keys" www-data'' | |
* Vérifier que tout est ok : ''bin/cake passbolt healthcheck'' | |
| |
===== Telegraf, InfluxDb, Grafana ===== | |
* Afin que Telegraf puisse accéder au socket de Docker, lancer le ainsi: ''DOCKER_GID=$(stat -c '%g' /var/run/docker.sock) docker-compose up -d'' | |
* Voir: https://github.com/influxdata/telegraf/issues/10031#issuecomment-955572318 | |
* Attention, ce service consomme beaucoup de mémoire et utilise le Swap, en cas de problème, il peut être nécessaire de le désactiver... | |
===== Commandes utiles ===== | ===== Commandes utiles ===== |
* Copier un fichier dans un volume nommé depuis l'hôte : | * Copier un fichier dans un volume nommé depuis l'hôte : |