Ne peut pas se connecter à redis exécute en tant que conteneur avec boot2docker
Sur mon MBP, avec les derniers boot2docker
installé, j'ai le texte suivant Dockerfile
:
FROM redis:3.0.3
CMD redis-server --bind 0.0.0.0
Je exécutez la commande suivante:
docker build .
docker run --rm ba09b207db42 # where ba09b207db42 is the container id returned by the build command
Puis-je exécuter:
redis-cli -h `boot2docker ip`
Et j'obtiens l'erreur:
Ne pouvait pas se connecter à Redis à 192.168.59.103:6379: Connexion refusée
Ce qui me manque?
OriginalL'auteur jtblin | 2015-08-08
Vous devez vous connecter pour publier un commentaire.
J'ai oublié de vous exposer le port. Il suffit de lancer le conteneur comme ceci:
En outre:
Vous pourriez donner à l'image un nom si vous n'avez pas besoin de travailler avec des id:
docker build -t myimage .
Vous pouvez ensuite démarrer le conteneur en arrière-plan afin de ne pas "bloquer" votre terminal:
docker run --name mycontainer -d -p 6379:6379 myimage
docker ps
que le port est exposée par le redis image donc j'ai pensé qu'il n'était pas nécessaire, mais cela définitivement résolu (facepalm).Les ports que vous voir avec
docker ps
sont ouvertes, mais seulement à d'autres contenants en cours d'exécution sur le même ordinateur hôte. Lorsque vous avez besoin d'y accéder de l'extérieur de docker, vous devez spécifier ces mappages de ports.Merci une tonne pour les explications!
OriginalL'auteur h3nrik