J'ai le Dockerfile suivant
############################################################
# 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
Dans ma machine virtuelle, j'ai fait ce qui suit:
docker build -t ubuntu1404/djangoapp .
C'est réussi.
Que dois-je faire pour exécuter l'image docker?Où est l'image ou le conteneur?
J'ai déjà essayé de courir
docker run ubuntu1404/djangoapp
Rien ne se passe.
Ce que je vois quand je lance docker images
root@vagrant-ubuntu-trusty-64:/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
Quand je lance docker ps
, rien n'apparaît
Vous devez donner une commande que votre conteneur devra traiter.
Exemple: sh
tu pourrais essayer :
docker run -ti yourimage sh
(-ti est utilisé pour garder un terminal ouvert)
Si vous voulez lancer un démon (comme un serveur), vous devrez entrer quelque chose comme:
docker run -d yourimage daemontolaunch
Utilisation docker help run
pour plus d'options.
Vous pouvez également définir un comportement par défaut avec instruction CMD dans votre Dockerfile afin que vous n'ayez pas à donner cette commande à votre conteneur chaque fois que vous souhaitez l'exécuter.
EDIT - sur la suppression des conteneurs:
Les conteneurs et les images sont différents. Un conteneur est une instance d'une image. Vous pouvez exécuter plusieurs conteneurs à partir de la même image.
Le conteneur s'arrête automatiquement à la fin du processus qu'il exécute. Mais le conteneur n'est pas supprimé (juste arrêté, vous pouvez donc le redémarrer). Mais si vous souhaitez le supprimer (la suppression d'un conteneur ne supprime pas l'image), vous avez deux façons de procéder:
le supprimer automatiquement à la fin du processus en ajoutant --rm
option pour docker run
.
Supprimez-le manuellement en utilisant le docker rm
commande et en lui donnant l'ID du conteneur ou son nom (un conteneur doit être arrêté avant d'être supprimé, utilisez docker stop
pour ça).
Une commande utile:
Utilisation docker ps
pour répertorier les conteneurs. -q pour afficher uniquement les ID des conteneurs, -a pour afficher même les conteneurs arrêtés.
Plus ici .
EDIT 2:
This pourrait également vous aider à découvrir Docker si vous ne l'avez pas essayé.
Comment tester le conteneur ou l'image après la construction du docker?
Afin de tester, vous pouvez ajouter un script bash d'écriture qui fera le travail http://docker-blog.jevsejev.io/2016/06/09/docker-image-tests/
Btw, du post, je vois que cela ne correspond pas à la question du titre.
Donc, Ajout d'un lien pour les âmes qui sont arrivées ici en fonction du titre ...