Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes |
technique:docker:picasoft:admin [2021/01/26 19:54] – qduchemi | technique:docker:picasoft:admin [2021/11/25 00:19] – ↷ Liens modifiés en raison d'un déplacement. qduchemi |
---|
{{indexmenu_n>20}} | {{indexmenu_n>20}} |
# Administrer les services | # Administrer les services |
| |
| <bootnote warning> |
| Prérequis : avoir [[technique:tech_team:start|une idée de comment fonctionnent Docker et Compose]] ^_^. |
| </bootnote> |
| |
Tous les services lancés avec Docker ont leur configuration versionnée sur le dépôt [dockerfiles](https://gitlab.utc.fr/picasoft/dockerfiles) (voir [[technique:docker:picasoft:dockerfiles|gestion des services]]). | Tous les services lancés avec Docker ont leur configuration versionnée sur le dépôt [dockerfiles](https://gitlab.utc.fr/picasoft/dockerfiles) (voir [[technique:docker:picasoft:dockerfiles|gestion des services]]). |
<bootnote> | <bootnote> |
Pour chacune des opérations détaillées dans cette page, on suppose que : | Pour chacune des opérations détaillées dans cette page, on suppose que : |
* Vous savez sur quelle machine tourne ou doit tourner le service (`pica01`, `monitoring`...). Si vous ne le savez pas, les [[technique:adminserv:graph_services|graphes des services]] peuvent vous aider. | * Vous savez sur quelle machine tourne ou doit tourner le service (`pica01`, `monitoring`...). Si vous ne le savez pas, les [[technique:graph_services|graphes des services]] peuvent vous aider. |
* Vous avez une connexion SSH active sur cette machine | * Vous avez une connexion SSH active sur cette machine |
* Vous êtes dans le dossier `<clone_depot>/<service>`, sur la branche `master`. Le clone devrait se trouver dans `/DATA/docker/dockerfiles`. | * Vous êtes dans le dossier `<clone_depot>/<service>`, sur la branche `master`. Le clone devrait se trouver dans `/DATA/docker/dockerfiles`. |
* Vous êtes sur la branche `master` et à jour si besoin (`git pull`) | * Vous êtes sur la branche `master` et à jour si besoin (`git pull`) |
* Vous êtes connecté au registre de production : on s'assure de bien avoir exécuté la commande `docker login registry.picasoft.net`. Les identifiants sont sur le [[technique:tips:password_store:start|pass]]. | |
</bootnote> | </bootnote> |
| |
La branche `master` devant refléter l'état des services en production, toutes les opérations sur les machines de production devront être réalisées depuis `master` : cela signifie que les branches sur lesquelles vous travaillez devront être fusionnées à la fin de vos tests, et donc avant la mise en production. | La branche `master` devant refléter l'état des services en production, toutes les opérations sur les machines de production devront être réalisées depuis `master` : cela signifie que les branches sur lesquelles vous travaillez devront être fusionnées à la fin de vos tests, et donc avant la mise en production. |
| |
Par exemple : je veux faire quelques chose avec Mattermost. Mattermost tourne sur `pica02` (cf [[technique:adminserv:graph_services|graphes des services]]), je suis dans le dossier `/DATA/docker/dockerfiles/pica-mattermost`, j'ai vérifié que je suis sur `master` et j'ai fait un `git pull`, je suis prêt à effectuer une opération. | Par exemple : je veux faire quelques chose avec Mattermost. Mattermost tourne sur `pica02` (cf [[technique:graph_services|graphes des services]]), je suis dans le dossier `/DATA/docker/dockerfiles/pica-mattermost`, j'ai vérifié que je suis sur `master` et j'ai fait un `git pull`, je suis prêt à effectuer une opération. |
| |
<bootnote critical>Cette page présente le cas général, mais avant toute opération de mise à jour, il faut **absolument lire** le fichier `README.md` du sous-dossier du service. Certains nécessitent des précautions avant de lancer une nouvelle version de l'image.</bootnote> | <bootnote critical>Cette page présente le cas général, mais avant toute opération de mise à jour, il faut **absolument lire** le fichier `README.md` du sous-dossier du service. Certains nécessitent des précautions avant de lancer une nouvelle version de l'image.</bootnote> |
| |
affiche tous les processus à l'intérieur des conteneurs lancés par le fichier Compose courant. | affiche tous les processus à l'intérieur des conteneurs lancés par le fichier Compose courant. |
| |
| ### Exécuter une commande dans un conteneur |
| |
| ``` |
| docker-compose exec <service> <commande> |
| ``` |
| |
| Très utile pour ouvrir un shell dans un conteneur, avec `bash` ou `sh` pour commande. |
| |
### Consulter les logs d'un service | ### Consulter les logs d'un service |
| |
```bash | ```bash |
docker-compose pull | |
docker-compose up -d [service] | docker-compose up -d [service] |
``` | ``` |
#### Mot de passe externe | #### Mot de passe externe |
| |
Le mot de passe est connu, par exemple le mot de passe d'un compte LDAP. On le récupérera sur le [[technique:tips:password_store:start|pass]]. | Le mot de passe est connu, par exemple le mot de passe d'un compte LDAP. On le récupérera sur le [[technique:adminsys:secu:password_store:start|pass]]. |
| |
#### Mot de passe administratif | #### Mot de passe administratif |
| |
Le mot de passe est "inédit", mais doit être accessibles aux administrateurs (par exemple le mot de passe d'administration d'Etherpad). On le créera directement dans le [[technique:tips:password_store:start|pass]] (`picapass insert...`) et on le copiera dans le fichier de secrets. | Le mot de passe est "inédit", mais doit être accessibles aux administrateurs (par exemple le mot de passe d'administration d'Etherpad). On le créera directement dans le [[technique:adminsys:secu:password_store:start|pass]] (`picapass insert...`) et on le copiera dans le fichier de secrets. |
| |
### Création des volumes | ### Création des volumes |