web-dev-qa-db-de.com

Wie teste ich den Container oder das Image nach der Docker-Erstellung?

Ich habe folgende Dockerfile

############################################################
# 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

In meiner VM habe ich Folgendes ausgeführt:

docker build -t ubuntu1404/djangoapp .

Es ist erfolgreich.

Was kann ich tun, um das Docker-Image auszuführen?Wo befindet sich das Image oder der Container?

Ich habe schon versucht zu rennen

docker run ubuntu1404/djangoapp

Nichts passiert.

Was ich sehe, wenn ich 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

Wenn ich docker ps, es erscheint nichts

24
Kim Stacks

Sie müssen einen Befehl geben, den Ihr Container verarbeiten muss.

Beispiel: sh

du könntest es versuchen :

docker run -ti yourimage sh

(-ti wird verwendet, um ein Terminal offen zu halten)

Wenn Sie einen Daemon (wie einen Server) starten möchten, müssen Sie Folgendes eingeben:

docker run -d yourimage daemontolaunch

Verwenden docker help run für weitere Optionen.

Sie können auch ein Standardverhalten mit CMD-Anweisung in Ihrer Docker-Datei festlegen, damit Sie diesen Befehl nicht jedes Mal an Ihren Container übergeben müssen, wenn Sie ihn ausführen möchten.

BEARBEITEN - über das Entfernen von Containern:

Behälter und Bilder sind unterschiedlich. Ein Container ist eine Instanz eines Bildes. Sie können mehrere Container von demselben Image ausführen.

Der Container stoppt automatisch, wenn der von ihm ausgeführte Prozess beendet wird. Der Container wird jedoch nicht gelöscht (nur angehalten, damit Sie ihn neu starten können). Wenn Sie es jedoch entfernen möchten (das Entfernen eines Containers entfernt das Bild nicht), haben Sie zwei Möglichkeiten:

  • automatische Entfernung am Ende des Prozesses durch Hinzufügen von --rm Option zu docker run.

  • Manuelles Entfernen mit dem docker rm Befehl und geben Sie ihm die Container-ID oder den Namen (ein Container muss vor dem Entfernen gestoppt werden, verwenden Sie docker stop dafür).

Ein nützlicher Befehl:

Verwenden docker ps, um Container aufzulisten. -q, um nur die Container-IDs anzuzeigen, -a, um auch angehaltene Container anzuzeigen.

Mehr hier .

EDIT 2:

This könnte Ihnen auch helfen, Docker zu entdecken, wenn Sie es nicht ausprobiert haben.

18
vmonteco

Wie teste ich den Container oder das Image nach der Docker-Erstellung?

Zum Testen können Sie ein Schreib-Bash-Skript hinzufügen, das den Job erledigt http://docker-blog.jevsejev.io/2016/06/09/docker-image-tests/

Übrigens, aus dem Beitrag sehe ich, dass es keine passende Frage aus dem Titel gibt.

Also, Link für die Seelen hinzugefügt, die hier angekommen sind, basierend auf dem Titel ...

5
Sergej Jevsejev