Obtenha a porta IP + do boo2docker

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, echomas meu script real contém opencomo:

#!/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/dockerporte adicionei esse caminho à minha PATHvariá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