Différences
Ci-dessous, les différences entre deux révisions de la page.
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 [2020/10/09 20:24] – qduchemi | technique:docker:picasoft:admin [2021/11/25 00:19] – ↷ Liens modifiés en raison d'un déplacement. qduchemi | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{indexmenu_n> | {{indexmenu_n> | ||
# Administrer les services | # Administrer les services | ||
+ | |||
+ | < | ||
+ | Prérequis : avoir [[technique: | ||
+ | </ | ||
Tous les services lancés avec Docker ont leur configuration versionnée sur le dépôt [dockerfiles](https:// | Tous les services lancés avec Docker ont leur configuration versionnée sur le dépôt [dockerfiles](https:// | ||
Ligne 6: | Ligne 10: | ||
En particulier, | En particulier, | ||
- | < | + | < |
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:adminsys: | + | * Vous savez sur quelle machine tourne ou doit tourner le service (`pica01`, `monitoring`...). Si vous ne le savez pas, les [[technique: |
* Vous avez une connexion SSH active sur cette machine | * Vous avez une connexion SSH active sur cette machine | ||
* Vous êtes dans le dossier `< | * Vous êtes dans le dossier `< | ||
* 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' | ||
</ | </ | ||
La branche `master` devant refléter l' | La branche `master` devant refléter l' | ||
- | Par exemple : je veux faire quelques chose avec Mattermost. Mattermost tourne sur `pica02` (cf [[technique:adminsys: | + | Par exemple : je veux faire quelques chose avec Mattermost. Mattermost tourne sur `pica02` (cf [[technique: |
+ | |||
+ | < | ||
## Opérations usuelles | ## Opérations usuelles | ||
Ligne 34: | Ligne 39: | ||
Alors, vous êtes probablement sur la mauvaise machine, car le fichier de secrets n' | Alors, vous êtes probablement sur la mauvaise machine, car le fichier de secrets n' | ||
</ | </ | ||
- | + | < | |
+ | Le nom des services à utiliser dans les commandes Compose sont les clés du fichier `docker-compose.yml`, | ||
+ | |||
+ | ``` | ||
+ | docker-compose config --services | ||
+ | ``` | ||
+ | |||
+ | permet de voir les services définis dans le fichier. | ||
+ | </ | ||
+ | |||
+ | ### Afficher les processus d'un service | ||
+ | |||
+ | ```bash | ||
+ | docker-compose ps | ||
+ | ``` | ||
+ | |||
+ | affiche tous les conteneurs lancés par le fichier Compose courant. | ||
+ | |||
+ | ```bash | ||
+ | docker-compose top | ||
+ | ``` | ||
+ | |||
+ | affiche tous les processus à l' | ||
+ | |||
+ | ### Exécuter une commande dans un conteneur | ||
+ | |||
+ | ``` | ||
+ | docker-compose exec < | ||
+ | ``` | ||
+ | |||
+ | 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 65: | Ligne 100: | ||
```bash | ```bash | ||
- | docker-compose pull | ||
docker-compose up -d [service] | docker-compose up -d [service] | ||
``` | ``` | ||
Ligne 90: | Ligne 124: | ||
### Secrets | ### Secrets | ||
- | Les secrets, tels que les mots de passe, ne sont évidemment pas présents sur ce 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. | ||
Ligne 107: | Ligne 141: | ||
#### 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:// | + | 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: |
#### Mot de passe administratif | #### Mot de passe administratif | ||
- | Le mot de passe est " | + | Le mot de passe est " |
### Création des volumes | ### Création des volumes | ||
- | Si des volumes sont déclarés `external` dans le fichier Compose (ce que nous ne [[technique: | + | Si des volumes sont déclarés `external` dans le fichier Compose (ce qui n' |
```bash | ```bash | ||
Ligne 123: | Ligne 157: | ||
### Opérations manuelles | ### Opérations manuelles | ||
- | Certains services (comme le serveur mail) nécessitent des opérations manuelles : créer des dossiers, puis générer des clés ou des certificats... | + | Certains services (comme le serveur mail) nécessitent des opérations manuelles : créer des dossiers, puis générer des clés ou des certificats... |
- | + | ||
- | < | + |