Maison  >  Article  >  Opération et maintenance  >  Docker et Linux : Comment utiliser les conteneurs pour la livraison continue d'applications ?

Docker et Linux : Comment utiliser les conteneurs pour la livraison continue d'applications ?

PHPz
PHPzoriginal
2023-07-29 08:19:491061parcourir

Docker et Linux : Comment utiliser des conteneurs pour la livraison continue d'applications ?

Avec le développement rapide du cloud computing et de la technologie des conteneurs, l'utilisation de conteneurs pour la livraison continue d'applications est devenue l'une des méthodes importantes de développement de logiciels modernes. En tant que l'une des plates-formes de conteneurisation les plus populaires, Docker est largement utilisé dans les environnements Linux. Cet article explique comment utiliser Docker et Linux pour implémenter la livraison continue d'applications et fournit des exemples de code correspondants.

  1. Installez Docker et configurez l'environnement

Tout d'abord, nous devons installer Docker dans l'environnement Linux. Pour les méthodes d'installation spécifiques, veuillez vous référer à la documentation officielle ou aux didacticiels associés.

Une fois l'installation terminée, nous devons configurer l'environnement Docker. Afin d'améliorer la disponibilité des conteneurs, Docker Swarm peut être utilisé pour implémenter des clusters de conteneurs. Voici un exemple simple :

# 初始化Swarm
docker swarm init

# 创建一个专属网络
docker network create -d overlay mynetwork

# 在Swarm中部署服务
docker service create --name webapp --network mynetwork -p 80:80 mywebapp

Dans l'exemple ci-dessus, nous utilisons la commande docker swarm init pour initialiser Swarm et créer un réseau nommé mynetwork. Ensuite, utilisez la commande docker service create pour déployer un service nommé webapp dans Swarm qui utilise le réseau mynetwork et ajoutez l'application Map au port 80. de l'hôte. docker swarm init命令初始化Swarm,并创建了一个名为mynetwork的网络。然后,使用docker service create命令在Swarm中部署了一个名为webapp的服务,该服务使用mynetwork网络,并将应用程序映射到主机的80端口。

  1. 创建Docker镜像

接下来,我们需要创建Docker镜像,以便在容器中运行应用程序。Docker镜像是一个只读的模板,它包含了运行应用程序所需的一切。

通常,我们可以使用Dockerfile来定义我们的镜像。以下是一个简单的示例:

FROM python:3.9-alpine

COPY requirements.txt /app/requirements.txt

WORKDIR /app

RUN pip install -r requirements.txt

COPY . /app

CMD ["python", "app.py"]

上述示例中,我们使用Python 3.9的Alpine版本作为基础镜像。然后,我们将requirements.txt文件复制到容器中的/app目录,并使用pip安装所需的依赖。最后,我们将整个应用程序复制到容器中,并定义了容器启动时的命令。

  1. 构建和发布Docker镜像

完成Dockerfile的编写后,我们可以使用docker build命令来构建镜像:

docker build -t mywebapp .

上述命令会构建一个名为mywebapp的镜像,并根据Dockerfile中的定义来运行构建过程。

构建完成后,我们可以使用docker push命令将镜像发布到镜像仓库:

docker push mywebapp

在这一步,我们可以使用Docker Hub等公共镜像仓库,也可以搭建自己的私有仓库。

  1. 运行容器

当镜像构建并发布完成后,我们可以使用docker run命令来在本地或远程主机上运行容器。

docker run -p 80:80 mywebapp

上述命令会在本地主机上启动一个容器,并将容器的80端口映射到主机的80端口。 这样,我们就可以通过访问主机的80端口来访问应用程序。

  1. 持续交付

使用Docker和Linux,我们可以实现应用程序的持续交付。下面是一个简单的示例脚本,用于自动化部署应用程序:

#!/bin/bash

# 拉取最新代码
git pull origin main

# 停止并删除旧的容器
docker stop mywebapp
docker rm mywebapp

# 构建并发布新的镜像
docker build -t mywebapp .
docker push mywebapp

# 运行新的容器
docker run -p 80:80 --name mywebapp -d mywebapp

上述脚本中,我们首先拉取最新的代码,并停止并删除旧的容器。然后,我们重新构建和发布新的镜像,并使用docker run

    Créer une image Docker

    Ensuite, nous devons créer une image Docker afin d'exécuter l'application dans le conteneur. Une image Docker est un modèle en lecture seule qui contient tout ce dont vous avez besoin pour exécuter une application.

    Habituellement, nous pouvons utiliser Dockerfile pour définir notre image. Voici un exemple simple :

    rrreee

    Dans l'exemple ci-dessus, nous utilisons la version Alpine de Python 3.9 comme image de base. Ensuite, nous copions le fichier requirements.txt dans le répertoire /app du conteneur et utilisons pip pour installer les dépendances requises. Enfin, nous avons copié l'intégralité de l'application dans le conteneur et défini la commande au démarrage du conteneur.

      🎜Construire et publier l'image Docker🎜🎜🎜Après avoir terminé l'écriture du Dockerfile, nous pouvons utiliser la commande docker build pour construire l'image : 🎜rrreee🎜Le La commande ci-dessus construira un nom nommé Be the image of mywebapp et exécutera le processus de construction selon la définition dans le Dockerfile. 🎜🎜Une fois la construction terminée, nous pouvons utiliser la commande docker push pour publier l'image dans l'entrepôt d'images : 🎜rrreee🎜Dans cette étape, nous pouvons utiliser des entrepôts d'images publics tels que Docker Hub, ou nous pouvons construire notre propre entrepôt privé. 🎜
        🎜Exécuter le conteneur🎜🎜🎜Une fois l'image créée et publiée, nous pouvons utiliser la commande docker run pour exécuter le conteneur sur l'hôte local ou distant. 🎜rrreee🎜La commande ci-dessus démarrera un conteneur sur l'hôte local et mappera le port 80 du conteneur au port 80 de l'hôte. De cette façon, nous pouvons accéder à l'application en accédant au port 80 de la machine hôte. 🎜
          🎜Livraison continue🎜🎜🎜Grâce à Docker et Linux, nous pouvons réaliser une livraison continue d'applications. Voici un exemple de script simple pour automatiser le déploiement d'une application : 🎜rrreee🎜 Dans le script ci-dessus, nous extrayons d'abord le dernier code, puis arrêtons et supprimons l'ancien conteneur. Ensuite, nous reconstruisons et publions la nouvelle image, et utilisons la commande docker run pour exécuter le nouveau conteneur. 🎜🎜En utilisant le script ci-dessus, nous pouvons automatiser le processus de livraison continue de l'application. 🎜🎜Résumé🎜🎜Cet article explique comment utiliser Docker et Linux pour obtenir une livraison continue d'applications. En utilisant une plateforme de conteneurisation et des scripts de déploiement automatisés, nous pouvons créer, publier et exécuter des applications de manière rapide et fiable. De cette manière, nous pouvons mieux répondre aux besoins des utilisateurs tout en améliorant la productivité des développeurs. 🎜🎜Grâce à la pratique et à des recherches plus approfondies, nous pouvons explorer davantage de scénarios d'application de Docker et Linux en livraison continue, et optimiser et améliorer continuellement notre processus de livraison. Nous encourageons les développeurs à expérimenter activement et à partager leurs expériences et les leçons apprises pour promouvoir le développement de l'ensemble de la communauté des développeurs de logiciels. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn