2015-07-13 8 views

Odpowiedz

9

Original odpowiedź (lipiec 2015):

wynikałoby to (nie testowane bezpośrednio), jak in this tutorial (pod warunkiem, że remote API is enabled):

Najpierw utwórz pojemnika:

curl -v -X POST -H "Content-Type: application/json" -d '{"Image": " registry:2.",}' http://localhost:2376/containers/create?name=registry 

Następnie uruchom to:

curl -v -X POST -H "Content-Type: application/json" -d '{"PortBindings": { "5000/tcp": [{ "HostPort": "5000" }] },"RestartPolicy": { "Name": "always",},}' http://localhost:2376/containers/registry/start?name=registry 

Aktualizacja luty é017, dla dokowanego 1.13+ lub zobacz rocksteady za answer, używając podobnego pomysłu, ale z bieżącym engine/api/v1.26.

+0

Dzięki za odpowiedź, mam sukces. – v11

+0

Używam HttpClient w java, aby połączyć api, dodać parametr, który pokazujesz, zwróci mi błąd dotyczący "nieprawidłowego znaku". "Szukam początku wartości", dlaczego? Aktualizuję moje pytanie. – v11

+0

@ v11 biorąc pod uwagę, że wspomniałeś, że odniosłeś sukces, czy mógłbyś zadać nowe pytanie? To pozwoli innym użyć tego do zwijania. Na początku nie wspomniano o API Java. – VonC

3

Mniej więcej wystarczy skopiować odpowiedź VonC s, aby zaktualizować do dzisiejszej wersji docker (1.13) i docker remote api version (v1.26).

Co jest inna:

  • Cała konfiguracja należy zrobić, gdy pojemnik jest tworzony, inaczej się następujący komunikat o błędzie jest zwracana, gdy zaczyna pojemnik droga VonC zrobił. {"message":"starting container with non-empty request body was deprecated since v1.10 and removed in v1.12"}

Najpierw utwórz pojemnika:(z uwzględnieniem wszystkich konfiguracji) curl -v -X POST -H "Content-Type: application/json" -d @docker.conf http://localhost:2376/containers/create?name=registry Plik docker.conf wygląda tak:

{ 
    "Image": registry:2.", 
    "ExposedPorts": { 
    "5000/tcp": {} 
    }, 
    "HostConfig": { 
    "PortBindings": { 
     "5000/tcp": [ 
     { 
      "HostPort": "5000" 
     } 
     ] 
    }, 
    "RestartPolicy": { 
     "Name": "always" 
    } 
    "AutoRemove": true 
    } 
} 

Następnie uruchom go:(parametr nazwa nie jest konieczne, gdy pojemnik jest właśnie nazwie rejestru) curl -v -X POST -H "Content-Type: application/json" http://localhost:2376/containers/registry/start

+1

Dobra aktualizacja mojej starszej odpowiedzi.+1 – VonC

+0

Pomocna odpowiedź w pierwszej kolejności. – rocksteady

Powiązane problemy