J'écrirai à propos de Dockerize
, ce qui est pratique lorsque vous voulez attendre une connexion DB lorsque vous utilisez docker-compose
.
Autant que je puisse voir ci-dessous, il semble que «wait-for-it» et «dockerize» soient valides. Contrôle de l'ordre de démarrage dans Compose - Docker-docs-ja 17.06 Document
Attendez que MySQL démarre dans Docker Compose-Qiita Comment attendre que MySQL démarre avec docker-compose up (introduction de 2 types) --Qiita
Dockerize
GitHub - jwilder/dockerize: Utility to simplify running applications in docker containers
Modifiez dockerfile
et docker-compose.yaml
.
ENV DOCKERIZE_VERSION v0.6.0
RUN apk add --no-cache openssl \
&& wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
&& tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
&& rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz
Définissez la commande dockerize
avec docker-compose
.
La commande dockerize -wait tcp: // db: 5432
vous permettra d'attendre le démarrage de l'application dépendante.
entrypoint:
- dockerize
- -timeout
- 60s
- -wait
- tcp://mysql:3306
command: ./main #Courir, aller
Attendez que les autres conteneurs commencent à utiliser Dockerize-Qiita
Recommended Posts