2013-09-26 12 views
24

Ho un contenitore finestra mobile che voglio utilizzare per partizionare l'accesso client a un database. Mi piacerebbe poter avere un contenitore per cliente. Se avvio più copie del contenitore hanno tutte lo stesso nome, l'unica differenza è la porta a cui è assegnato il contenitore.Come copiare e rinominare un contenitore di Docker?

Come posso copiare/rinominare i contenitori in modo tale da poter differenziare il contenitore senza dover consultare una tabella di ricerca che corrisponde alla porta assegnata al client?

+0

Sto ancora cercando un modo per rinominare il contenitore – Kostanos

+0

Questo è [un problema aperto] (https://github.com/docker/docker/issues/3036). – kojiro

+0

Questa dovrebbe essere la risposta accettata ora: http://stackoverflow.com/a/28068308/1725096 –

risposta

7

Tutti i contenitori hanno un nome uniq. Quando lo fai docker ps Puoi vedere che la prima colonna è l'ID. È quindi possibile manipolare i contenitori con questo ID.

hai veramente bisogno questo ID al fine di eseguire qualsiasi operazione sul contenitore (arresto/avvio/ispezionare/etc ..)

Io sono sicuro di ciò che si sta cercando di fare, ma per ogni cliente, è può avviare un nuovo contenitore e quindi collegare l'ID del contenitore con il tuo ID utente.

Al momento, non esiste alcun nome di contenitore all'interno di Docker, quindi non è possibile denominare né rinominare un contenitore, è possibile utilizzare solo il suo ID.

Nelle versioni future, la denominazione per il contenitore verrà implementata.

+2

A partire da Docker 0.6.5 la denominazione del contenitore è stata implementata, ma non è possibile fornire un nome per un contenitore esistente. Sospetto che ciò non verrà implementato; basta interrompere il contenitore ed eseguire una nuova istanza denominata. –

+2

"just" è una parola di donnola. Ho un caso in cui voglio tenere un container in giro per l'ispezione durante il debug, ma voglio rimbalzare e riavviare il servizio nella nuova istanza denominata. Penso che quello che posso fare in questo caso, almeno, è un'istantanea del contenitore e lo rm, rilasciando il nome per l'uso nella nuova istanza denominata. –

18

sto usando finestra mobile 1.0.1 e la seguente mi permette di rinominare un'immagine:

docker tag 1cf76 myUserName/imageName:0.1.0 
+7

Ma un'immagine non è un contenitore. – kojiro

+0

@kojiro giusto ma i contenitori non hanno mai nomi amichevoli, vero? Sono sempre stringhe casuali. Quindi la risposta è probabilmente "non puoi - ma puoi salvarli come immagini a cui puoi dare nomi amichevoli". –

+5

@RobinWinslow hanno nomi amichevoli. Notare il flag '--name' o la colonna più a destra nell'output di' docker ps'. – kojiro

33

Il comando docker rename fa parte del Docker 1.5. Link per il commit: docker github

+0

E invece di digitare il vecchio (forse casuale) nome del contenitore, si potrebbe anche usare un inizio univoco dell'id del contenitore dato, ad es. 'finestra mobile rinomina 646 newname'. –

Problemi correlati