Ich erstelle ein grundlegendes CentOS-Image mit nur einigen Paketen, aber ich vergesse etwas, weil ich es zwar gut fertigstelle, aber den Container nicht verwalte. Was mache ich falsch?
Docker-Compose:
version: '3'
services:
config_server:
build: ../common/docker/ansible/.
stdin_open: true
volumes:
- ../../api:/var/www/api
- ../../server:/var/www/server
- ../server/provision/server:/tmp/ansible
working_dir: /tmp/ansible
networks:
net:
ipv4_address: 172.28.0.10
command: ansible-playbook playbook.yml
networks:
net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.28.0.0/24
Docker-Datei:
FROM centos:7
RUN yum makecache && yum install -y epel-release wget
RUN yum install -y ansible
Ich möchte überprüfen, ob alle Aufgaben gut erledigt wurden, und zwar mithilfe von:
docker logs
Ich sehe, dass die Protokolle des Ansible-Skripts gut abgeschlossen werden. Aber ich weiß nicht, warum der Container mit dem Fehler „Exited (0)“ nicht gewartet wird
verwendeter Befehl ist
docker-compose up -d --build
Vorschläge?
Antwort1
Wie @Michael Hampton sagt: „Ich habe eine Lösung bei Stackoverflow gefunden.“
https://stackoverflow.com/questions/38546755/docker-compose-keep-container-running/45450456
Grundsätzlich müssen wir den Befehl in Docker-Compose einbinden
command: tail -f /dev/null