Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Créez et testez des images Docker pour les services de conteneurs Lightsail
Docker vous permet de créer, d'exécuter, de tester et de déployer des applications distribuées basées sur des conteneurs. Les services de conteneurs Amazon Lightsail utilisent des images de conteneur Docker dans les déploiements pour lancer des conteneurs.
Dans ce guide, nous vous expliquons comment créer une image de conteneur sur votre machine locale à l'aide d'un fichier Dockerfile. Une fois votre image créée, vous pouvez ensuite la pousser vers votre service de conteneurs Lightsail pour la déployer.
Pour effectuer les procédures de ce guide, vous devez posséder des connaissances élémentaires de Docker et de son fonctionnement. Pour plus d'informations sur Docker, consultez Qu'est-ce que Docker ?
Table des matières
Étape 1 : Exécuter les prérequis
Avant de commencer, vous devez installer le logiciel requis pour créer des conteneurs, puis les pousser vers votre service de conteneur Lightsail. Par exemple, vous devez installer et utiliser Docker pour créer et générer vos images de conteneur, que vous pourrez ensuite utiliser avec votre service de conteneur Lightsail. Pour de plus amples informations, veuillez consulter Installation d'un logiciel pour gérer les images de conteneur pour vos services de conteneurs Amazon Lightsail.
Étape 2 : Créer un fichier Dockerfile et générer une image de conteneur
Procédez comme suit pour créer un fichier Dockerfile et l'utiliser pour générer une image de conteneur Docker mystaticwebsite
. Pour un site Web statique simple, l'image de conteneur sera hébergée sur un serveur Web Apache sur Ubuntu.
-
Créez un dossier
mystaticwebsite
sur la machine locale où vous stockerez votre fichier Dockerfile. -
Créez un fichier Dockerfile dans le dossier que vous venez de créer.
Le fichier Dockerfile n'utilise pas d'extension de fichier, telle que
.TXT
. Le nom complet du fichier estDockerfile
. -
Copiez l'un des blocs de code suivants en fonction de la façon dont vous souhaitez configurer votre image de conteneur, puis collez-le dans votre fichier Dockerfile :
-
Si vous souhaitez créer une image de conteneur de site web statique simple avec un message Hello World, copiez ensuite le bloc de code suivant et collez-le dans votre fichier Dockerfile. Cet exemple de code utilise l'image Ubuntu 18.04. Les instructions
RUN
mettent à jour les caches du package, installent et configurent Apache, puis impriment un message Hello World à la racine du document du serveur web. L'instructionEXPOSE
expose le port 80 sur le conteneur et l'instructionCMD
démarre le serveur Web.FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Open port 80 EXPOSE 80 # Start Apache service CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
-
Si vous souhaitez utiliser votre propre ensemble de fichiers HTML pour votre image de conteneur de site web statique, créez un dossier
html
dans le même dossier où vous stockez votre fichier Dockerfile. Ensuite, placez vos fichiers HTML dans ce dossier.Une fois que vos fichiers HTML sont dans le dossier
html
, copiez le bloc de code suivant et collez-le dans votre fichier Dockerfile. Cet exemple de code utilise l'image Ubuntu 18.04. Les instructionsRUN
mettent à jour les caches du package, puis installent et configurent Apache. L'instructionCOPY
copie le contenu du dossier html vers la racine du document du serveur web. L'instructionEXPOSE
expose le port 80 sur le conteneur et l'instructionCMD
démarre le serveur Web.FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Copy html directory files COPY html /var/www/html/ # Open port 80 EXPOSE 80 CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
-
-
Ouvrez une invite de commandes ou une fenêtre de terminal et changez le répertoire vers le dossier dans lequel vous stockez votre fichier Dockerfile.
-
Saisissez la commande suivante pour générer votre image de conteneur à l'aide du fichier Dockerfile dans le dossier. Cette commande crée une nouvelle image de conteneur Docker nommée
mystaticwebsite
.docker build -t mystaticwebsite .
Vous devriez voir un message confirmant que votre image a bien été générée.
-
Saisissez la commande suivante pour afficher les images de conteneur sur votre machine locale.
docker images --filter reference=mystaticwebsite
Le résultat doit ressembler à l'exemple suivant, affichant la nouvelle image de conteneur créée.
Votre image de conteneur nouvellement construite est prête à être testée en l'utilisant pour exécuter un nouveau conteneur sur votre machine locale. Passez à la section suivante Étape 3 : Exécuter votre nouvelle image de conteneur de ce guide.
Étape 3 : Exécuter votre nouvelle image de conteneur
Procédez comme suit pour exécuter la nouvelle image de conteneur que vous avez créée.
-
Dans une invite de commandes ou une fenêtre de terminal, saisissez la commande suivante pour exécuter l'image de conteneur que vous avez créée à l'Étape 2 : Créer un fichier Dockerfile et générer une image de conteneur de ce guide. L'option
-p 8080:80
mappe le port exposé 80 du conteneur au port 8080 de votre machine locale. L'option-d
spécifie que le conteneur doit s'exécuter en mode détaché.docker container run -d -p 8080:80 --name mystaticwebsite mystaticwebsite:latest
-
Saisissez la commande suivante pour afficher vos conteneurs en cours d'exécution.
docker container ls -a
Le résultat doit ressembler à l'exemple suivant, affichant le nouveau conteneur en cours d'exécution.
-
Pour confirmer que le conteneur est opérationnel, ouvrez une nouvelle fenêtre de navigateur et accédez à
http://localhost:8080
. Un message semblable à l'exemple suivant doit s'afficher. Il confirme que votre conteneur est opérationnel sur votre machine locale.Votre nouvelle image de conteneur est prête à être envoyée à votre compte Lightsail afin que vous puissiez la déployer sur votre service de conteneurs Lightsail. Pour de plus amples informations, veuillez consulter Transmission et gestion d'images de conteneur sur vos services de conteneurs Amazon Lightsail.
(Facultatif) Étape 4 : Nettoyer les conteneurs qui s'exécutent sur votre machine locale
Maintenant que vous avez créé une image de conteneur que vous pouvez envoyer à votre service de conteneurs Lightsail, il est temps de nettoyer les conteneurs qui s'exécutent sur votre machine locale en suivant les procédures décrites dans ce guide.
Procédez comme suit pour nettoyer les conteneurs qui s'exécutent sur votre machine locale :
-
Exécutez la commande suivante pour afficher les conteneurs qui s'exécutent sur votre machine locale.
docker container ls -a
Vous devriez obtenir un résultat similaire à ce qui suit, qui répertorie les noms des conteneurs s'exécutant sur votre machine locale.
-
Exécutez la commande suivante pour supprimer le conteneur en cours d'exécution que vous avez créé précédemment dans ce guide. Cela force le conteneur à s'arrêter et le supprime définitivement.
docker container rm <ContainerName> --force
Dans la commande, remplacez < ContainerName > par le nom du conteneur que vous souhaitez arrêter, puis supprimez.
Exemple :
docker container rm
mystaticwebsite
--forceLe conteneur créé suivant les instructions de ce guide doit maintenant être supprimé.
Prochaines étapes après la création d'images de conteneur
Après avoir créé vos images de conteneur, poussez-les vers votre service de conteneurs Lightsail lorsque vous êtes prêt à les déployer. Pour plus d'informations, voir Gérer les images du service de conteneur Lightsail.