Se você usa o boot2docker, também encontrou o problema com os números das portas 🙂 Estou no Mac e é um grande problema para mim encontrar o número da porta necessária de um contêiner especificado.
Aqui está um script para obtê-lo como uma URL (bom para vincular servidores da web).
#!/bin/bash
if [[ -z $2 ]]; then
echo "Usage: $0 <conatiner> <port>"
exit;
fi
echo `boot2docker ip 2>/dev/null`:`docker port $1 $2 | sed -e 's/.*://g'`
Ele tem, echo
mas meu script real contém open
como:
#!/bin/bash
if [[ -z $2 ]]; then
echo "Usage: $0 <conatiner> <port>"
exit;
fi
open "http://"`boot2docker ip 2>/dev/null`:`docker port $1 $2 | sed -e 's/.*://g'`"/"
É bom no mac porque abre a URL automaticamente no meu navegador. Eu coloquei em meu ~/.bin/dockerport
e adicionei esse caminho à minha PATH
variável env, para que eu possa executá-lo como um “programa” normal.
Na maioria das vezes, eu dou um nome aos meus contêineres para poder dar esse nome em vez do ID do contêiner.
(clockwork) Ξ Docker/nginx-php → docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f4bc32074e0f ad55c90a04a3 "start" 2 days ago Up 2 days 0.0.0.0:49154->80/tcp experiments-container-1
(clockwork) Ξ Docker/nginx-php → dockerport f4bc32074e0f 80
192.168.59.103:49154
(clockwork) Ξ Docker/nginx-php → dockerport experiments-container-1 80
192.168.59.103:49154