2015-05-11 1 views
14

Ho il seguente DockerfileCome testare il contenitore o l'immagine dopo la creazione della finestra mobile?

############################################################ 
# Purpose : Dockerize Django App to be used in AWS EC2 
# Django : 1.8.1 
# OS  : Ubuntu 14.04 
# WebServer : nginx 
# Database : Postgres inside RDS 
# Python : 2.7 
# VERSION : 0.1 
############################################################ 

from ubuntu:14.04 

maintainer Kim Stacks, [email protected] 

# make sure package repository is up to date 
run echo "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe" > /etc/apt/sources.list 

run apt-get update 

# install python 

# install nginx 

Dentro il mio VM, ho fatto la seguente:

docker build -t ubuntu1404/djangoapp . 

E 'successo.

Cosa devo fare per eseguire l'immagine della finestra mobile? Dove si trova l'immagine o il contenitore?

Ho già provato a fare funzionare

docker run ubuntu1404/djangoapp 

accade nulla.

Quello che vedo quando corro docker images

[email protected]:/var/virtual/Apps/DockerFiles/Django27InUbuntu# docker images 
REPOSITORY    TAG     IMAGE ID   CREATED    VIRTUAL SIZE 
ubuntu1404/djangoapp latest    cfb161605c8e  10 minutes ago  198.3 MB 
ubuntu     14.04    07f8e8c5e660  10 days ago   188.3 MB 
hello-world   latest    91c95931e552  3 weeks ago   910 B 

Quando eseguo docker ps, nulla si presenta

risposta

8

Devi dare un comando vostro contenitore dovrà elaborare.

Esempio: sh

si potrebbe provare:

docker run -ti yourimage sh 

(-ti viene utilizzato per mantenere un terminale aperto)

Se si desidera avviare un demone (come un server), dovrai inserire qualcosa del tipo:

docker run -d yourimage daemontolaunch 

Utilizzare docker help run per ulteriori opzioni.

È inoltre possibile impostare un comportamento predefinito con CMD instruction nel file Docker in modo da non dover dare questo comando al contenitore ogni volta che si desidera eseguirlo.

EDIT - circa contenitore rimozione:

contenitori e le immagini sono diverse. Un contenitore è un'istanza di un'immagine. È possibile eseguire diversi contenitori dalla stessa immagine.

Il contenitore si arresta automaticamente quando termina il processo in esecuzione. Ma il contenitore non viene cancellato (è appena stato fermato, quindi è possibile riavviarlo). Ma se si desidera rimuoverla (la rimozione di un contenitore non rimuove l'immagine) si deve modi per farlo:

  • rimuovere automaticamente al termine del processo con l'aggiunta di --rm opzione per docker run.

  • Rimuovere manualmente utilizzando il comando docker rm e assegnargli l'ID contenitore o il suo nome (un contenitore deve essere arrestato prima di essere rimosso, utilizzare docker stop per questo).

Un comando utile:

Usa docker ps alla lista contenitori. -q per visualizzare solo gli ID contenitore, -a per visualizzare anche i contenitori fermi.

Altro here.

EDIT 2:

This potrebbe anche aiutare a scoprire finestra mobile se non si prova.

+0

grazie. Ho mai bisogno di spegnere il container? se é cosi, come? –

+0

Sono confuso. Qual è lo scopo del demone? –

+0

Potrebbe essere necessario eseguire il contenitore docker in background, ad esempio per eseguire un server web. Puoi anche farlo senza demonizzare il tuo contenitore, ma devi lasciare che il contenitore funzioni nel tuo terminale, che potrebbe non essere pratico. Non esitate a leggere la documentazione ufficiale e utilizzare il tutorial: è davvero ben fatto. – vmonteco

2

Come testare il contenitore o l'immagine dopo la creazione della finestra mobile?

Al fine di testare è possibile aggiungere script bash di scrittura che farà il lavoro http://docker-blog.jevsejev.io/2016/06/09/docker-image-tests/

Btw, dal post vedo che non corrisponde questione dal titolo.

Quindi, Aggiunto collegamento per le anime che sono arrivati ​​qui in base al titolo ...