Ho giocato in giro con Docker recentemente nel mio laboratorio a casa e sto utilizzando principalmente il Docker CLI.Mentre passa attraverso la documentazione, ho scoperto che Docker fornisce anche un bel API REST remote che per impostazione predefinita, sembra essere disabilitato. Ero alla ricerca online, ma non sono riuscito a trovare dei tutorial che fornisce chiare istruzioni su come attivare l'API telecomando per un Ubuntu Virtual Machine che di recente ho costruito per funzionare Docker.
Con alcuni tentativi ed errori, ho potuto capire finalmente ciò che era necessario e la figura vorrei documentare questo per me e per chiunque altro che magari interessati.
Se si dispone di Docker in esecuzione su un Ubuntu (14.04 è quello che sto usando), sarà necessario modificare / etc / init / docker.conf e aggiornare il DOCKER_OPTS variabile di seguito:
1
|
DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'
|
Questo avrà Docker bind alla porta 4243 che sarà utilizzato dal Remote API Docker. Una aver salvato le modifiche, è necessario riavviare il processo di Docker eseguendo il seguente comando:
servizio docker restart
Per verificare che l'API Remote Docker è stato regolarmente abilitato, elencheremo le immagini attualmente in Docker (questo presuppone che abbiate almeno tirato giù un immagine dal Registro Docker Hub).
Nel mio ambiente, ho i seguenti Docker Immagini:
Usando il mio browser Firefox e il plugin RESTClient, posso eseguire un GET operazione sul seguente URL:http://172.30.0.199:4243/images/json come descritto nella API Remote Docker .
Come possiamo vedere dallo screenshot qui sopra, vediamo le stesse immagini visualizzate dalla API remoto. Si può facilmente verificare questo utilizzando cURL sulla riga di comando eseguendo il seguente comando:
curl-X GET http://172.30.0.199:4243/images/json
Se si esegue CoreOS (che ho anche correre nel mio ambiente vSphere ), è possibile abilitare l'API remoto Docker seguendo la documentazione qui . Speriamo che questo sarà utile per chi cerca di abilitare Remote API, ma non in grado di trovare i passaggi esatti.