Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:docker:picasoft:admin [2021/01/12 15:20] qduchemitechnique:docker:picasoft:admin [2022/09/23 10:16] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
 # Administrer les services # Administrer les 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 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 dans leur dépôt, accessible [ici](https://gitlab.utc.fr/picasoft/projets/services) (voir [[technique:docker:picasoft:dockerfiles|gestion des services]]).
  
-En particulier, les fichier `docker-compose.yml` présents dans chaque dossier, ainsi que les fichiers de configuration et de secrets, permettent de lancer n'importe quel service de façon autonome, sur n'importe quelle machine.+En particulier, les fichiers `docker-compose.yml` présents dans chaque dépôt, ainsi que les fichiers de configuration et de secrets, permettent de lancer n'importe quel service de façon autonome, sur n'importe quelle machine.
  
 <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 `/DATA/docker/services/<depot-service>`, sur la branche `master`.
   * 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 [pass](https://gitlab.utc.fr/picasoft/interne/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 quelque chose avec Mattermost. Mattermost tourne sur `pica02` (cf [[technique:graph_services|graphes des services]]), je suis dans le dossier `/DATA/docker/services/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>
Ligne 28: Ligne 31:
  
 <bootnote warning> <bootnote warning>
-Si vous rencontrez ce genre d'erreur... +Si le dossier du service n'existe pas...  
 +Alors, vous êtes probablement sur la mauvaise machine. 
 +Si vous lancez un nouveau service, voir plus bas. 
 +</bootnote> 
 +<bootnote> 
 +Le nom des services à utiliser dans les commandes Compose sont les clés du fichier `docker-compose.yml`, et non le nom des conteneursLa commande 
  
 ``` ```
-ERROR: Couldn't find env file: /DATA/docker/dockerfiles/<service>/secrets/<service>.secrets+docker-compose config --services
 ``` ```
  
-Alors, vous êtes probablement sur la mauvaise machine, car le fichier de secrets n'existe pas. Si vous lancez un nouveau service, voir plus bas.+permet de voir les services définis dans le fichier.
 </bootnote> </bootnote>
-Le nom des services à utiliser dans les commandes Compose sont les clés du fichier `docker-compose.yml`, et non le nom des conteneurs. La commande  
  
 +### Afficher les processus d'un service
 +
 +```bash
 +docker-compose ps
 ``` ```
-docker-compose config --services+ 
 +affiche tous les conteneurs lancés par le fichier Compose courant. 
 + 
 +```bash 
 +docker-compose top
 ``` ```
  
-permet de voir les services définis dans le fichier. +affiche tous les processus à l'intérieur des conteneurs lancés par le fichier Compose courant
-<bootnote>+ 
 +### 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
Ligne 74: Ligne 96:
  
 ```bash ```bash
-docker-compose pull 
 docker-compose up -d [service] docker-compose up -d [service]
 ``` ```
Ligne 101: Ligne 122:
 Les secrets, tels que les mots de passe, ne sont évidemment pas présents sur le dépôt. Lorsque des secrets sont utilisés, ils sont **systématiquement** indiqués par la présence de fichiers dans un sous-répertoire `secrets`. Les secrets, tels que les mots de passe, ne sont évidemment pas présents sur le dépôt. Lorsque des secrets sont utilisés, ils sont **systématiquement** indiqués par la présence de fichiers dans un sous-répertoire `secrets`.
  
-Dans ce cas, on copiera tous les fichiers `.secrets.example` en `.secrets`, et on remplacera les valeurs.+Dans ce cas, on copiera tous les fichiers `*.secrets.example` en `*.secrets`, et on remplacera les valeurs.
  
 Cette opération n'est nécessaire que lors du premier lancement. Cette opération n'est nécessaire que lors du premier lancement.
Ligne 116: Ligne 137:
 #### 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 [pass](https://gitlab.utc.fr/picasoft/interne/pass).+Le mot de passe est connu, par exemple le mot de passe d'un compte LDAP. On le récupérera sur le [[asso:tuto:vaultwarden|vaultwarden]].
  
 #### 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 [pass](https://gitlab.utc.fr/picasoft/interne/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 [[asso:tuto:vaultwarden|vaultwarden]] (`picapass insert...`) et on le copiera dans le fichier de secrets.
  
 ### Création des volumes ### Création des volumes
  • technique/docker/picasoft/admin.1610461253.txt.gz
  • de qduchemi