Table des matières
1. Installer Docker
2. Configurer Docker
3. Créez un script de déploiement automatisé
4. Appliquer des outils CI / CD
Exemple: en utilisant des actions GitHub
Maison développement back-end Golang Comment implémenter le déploiement automatisé de Docker sur Debian

Comment implémenter le déploiement automatisé de Docker sur Debian

May 28, 2025 pm 04:33 PM
linux git docker nginx access outil ai script shell

Comment implémenter le déploiement automatisé de Docker sur Debian

La mise en œuvre du déploiement automatisé de Docker sur les systèmes Debian peut être accomplie de diverses manières. Voici les guides d'étape détaillés:

1. Installer Docker

Tout d'abord, assurez-vous que votre système Debian est à jour:

 <code>sudo apt update sudo apt upgrade -y</code>

Ensuite, installez les packages nécessaires pour prendre en charge l'accès apt au référentiel sur HTTPS:

 <code>sudo apt install apt-transport-https ca-certificates curl software-properties-common -y</code>

Importer la clé GPG officielle de Docker:

 <code>curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -</code>

Ajouter l'adresse du référentiel officiel de Docker:

 <code>sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"</code>

Mettez à jour l'index du package et installez Docker Community Edition:

 <code>sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y</code>

Démarrez le service Docker et définissez-le pour démarrer:

 <code>sudo systemctl start docker sudo systemctl enable docker</code>

2. Configurer Docker

Pour vous assurer que Docker peut s'exécuter automatiquement avec le démarrage du système, vous pouvez utiliser le service SystemD:

 <code>sudo systemctl enable docker</code>

3. Créez un script de déploiement automatisé

Vous pouvez écrire un script shell pour implémenter le déploiement automatisé de conteneurs Docker. Voici un exemple de script de base:

 <code>#!/bin/bash</code> Définir le nom du conteneur et le nom du miroir<p> Contener_name = "my_container"
Image_name = "nginx: dernier"</p><h1> Vérifiez si le conteneur cible est en cours d'exécution</h1><p> Si docker ps -a | grep -q $ contener_name; alors
Echo "Container $ contener_name est déjà en cours d'exécution."
autre</p><h1> Démarrer un nouveau conteneur</h1><pre class="brush:php;toolbar:false"> <code>docker run -d --name $CONTAINER_NAME -p 80:80 $IMAGE_NAME echo "Container $CONTAINER_NAME has been started."</code>

FI

Enregistrez ce script en tant que deploy_docker.sh et donnez des autorisations d'exécution:

 <code>chmod x deploy_docker.sh</code>

Exécuter le script:

 <code>./deploy_docker.sh</code>

4. Appliquer des outils CI / CD

Si des processus de déploiement automatisés plus complexes sont nécessaires, des outils CI / CD tels que Jenkins, Gitlab CI / CD ou GitHub peuvent être utilisés. Ces outils peuvent vous aider à automatiser l'intégralité du processus à partir de la traction de code, de la construction, du test et du déploiement.

Exemple: en utilisant des actions GitHub

  1. Créez un répertoire .github / workflows dans votre projet GitHub.
  2. Créez un nouveau fichier de configuration YAML dans ce répertoire, tel que Deploy-docker.yml:
 <code>name: Deploy Docker</code><p> sur:
pousser:
Branches:</p>
  • Principal

Emplois: build-and-déploiment: Runs-on: Ubuntu-Latest

 <code>steps: - name: Pull repository code uses: actions/checkout@v2 - name: Log in to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }} - name: Build and push Docker image uses: docker/build-push-action@v2 with: context: . file: ./Dockerfile push: true tags: yourusername/yourimage:latest - name: Deploy to production server run: | ssh -o StrictHostKeyChecking=no ${{ secrets.PRODUCTION_SERVER }} 'bash -s'</code>

  1. Ajoutez les secrets nécessaires à votre projet, tels que dockerhub_username, dockerhub_access_token et production_server.
  2. Créez un script Deploy_on_production.sh, qui est spécifiquement responsable du déploiement de contenants Docker sur des serveurs d'environnement de production.
  3. Grâce aux étapes ci-dessus, vous pouvez réaliser le déploiement automatisé de Docker sur le système Debian. Selon les besoins réels, vous pouvez choisir la méthode et l'outil appropriés.

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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Création d'environnements Docker prêts pour la production pour PHP Création d'environnements Docker prêts pour la production pour PHP Jul 27, 2025 am 04:32 AM

L'utilisation de l'image de base PHP correcte et la configuration d'un environnement Docker sécurisé et optimisé sont la clé pour obtenir la production prête. 1. Sélectionnez PHP: 8.3-FPM-Alpine comme image de base pour réduire la surface d'attaque et améliorer les performances; 2. Désactiver les fonctions dangereuses via PHP.ini personnalisé, désactiver l'affichage des erreurs et activer Opcache et Jit pour améliorer la sécurité et les performances; 3. Utilisez Nginx comme proxy inverse pour restreindre l'accès aux fichiers sensibles et transférer correctement les demandes PHP à PHP-FPM; 4. Utilisez des images d'optimisation en plusieurs étapes pour supprimer les dépendances de développement et configurez les utilisateurs non racinaires pour exécuter des conteneurs; 5. Supervisord facultatif pour gérer plusieurs processus tels que Cron; 6. Vérifiez qu'aucune fuite d'informations sensibles avant le déploiement

Une introduction à EBPF pour l'observabilité Linux Une introduction à EBPF pour l'observabilité Linux Jul 27, 2025 am 01:25 AM

eBPFenableSSAFE, efficace, et dynamicobservabilityInLinuxSystemswithoutmoditifykernenelcodeorStartingServices.1) itworksByattaChingSandboxedProgramStOnLeventsLikesystemCallsorFonctionNETY / EXITPOINTS.2)

Mastering Command Line Text Édition en Linux avec VIM Mastering Command Line Text Édition en Linux avec VIM Jul 27, 2025 am 01:45 AM

Tomastervim, startBydront comprisetSitsModes: 1) normalModeFornAvigationAndCommands, 2) INSERTMODEFORTY

Les 10 meilleurs sites Web de marché des crypto-monnaies les plus autoritaires au monde (la dernière version de 2025) Les 10 meilleurs sites Web de marché des crypto-monnaies les plus autoritaires au monde (la dernière version de 2025) Jul 29, 2025 pm 12:48 PM

Les dix principales plateformes de marché de crypto-monnaie et d'analyse de données faisant autorité en 2025 sont: 1. CoinmarketCap, fournissant des classements de capitalisation boursière complets et des données de marché de base; 2. Coingecko, fournissant une évaluation de projet multidimensionnelle avec des scores d'indépendance et de confiance; 3. TradingView, ayant les cartes K-Line les plus professionnelles et les outils d'analyse technique; 4. Marché de la binance, fournissant les données les plus directes en temps réel comme le plus grand échange; 5. Marché d'Ouyi, mettant en évidence des indicateurs dérivés clés tels que le volume de position et le taux de capital; 6. Glassnode, en se concentrant sur les données sur chaîne telles que les adresses actives et les tendances des baleines géantes; 7. Messari, fournissant des rapports de recherche au niveau institutionnel et des données strictes strictes; 8. Cryptocompa

Récupérer des commits et des fichiers perdus avec Git Reflog Récupérer des commits et des fichiers perdus avec Git Reflog Jul 27, 2025 am 01:44 AM

Exécutez Gitreflog pour voir l'histoire de la tête; 2. Trouvez le commutateur avant de manquer; 3. Créez une branche de récupération basée sur le hachage; 4. Fusionner les succursales ou consulter le contenu de récupération d'un fichier spécifique.

Comment installer nginx sur Centos / Rhel? Comment installer nginx sur Centos / Rhel? Jul 27, 2025 am 02:47 AM

Les étapes pour installer nginx sur CentOS ou RHEL incluent: 1. Mettez à jour le système et installez les dépendances; 2. Ajouter le référentiel Nginx officiel; 3. Installez Nginx et configurez le démarrage; 4. Configurez le pare-feu pour permettre l'accès. Exécutez d'abord SudoyuMupdate pour mettre à jour le système, installez Yum-utils et EPEL-Release (pour RHEL); Créez ensuite /etc/yum.repos.d/nginx.repo Fichier et ajoutez l'adresse de référentiel officielle, exécutez Yummakecache pour générer du cache; Installez ensuite Nginx via Sudoyuminstallnginx et utilisez SystemCtLenable / S

Qu'est-ce que le sous-système Windows pour Linux (WSL) Qu'est-ce que le sous-système Windows pour Linux (WSL) Jul 27, 2025 am 04:10 AM

Wsleablesrunningalinuxenvironmentationonwindowswithoutdual-bootorVirtualMachinesByTranslatingLinUxSystemCalls, withwsl1translatingcallsinrealtimendwsl2usingalightweightvmwithareLinuxkerforforlCatibilitéandBetterperformance; itisusingForrunningBashscatibilité etBetterperformance; itususingForrungash

Docker une application Java pour le déploiement du cloud Docker une application Java pour le déploiement du cloud Jul 27, 2025 am 02:56 AM

DockriserizingajavaApplicationNesuresConsistance, Portabilité, Isolement et Cloudredanness.1.PreparEastAndaloneJarusingMavenorgradle.2.CreatEamulti-stageDockerfileusingSlistroleSsimages, CopyThejar, Setanon-Rootuser, Exposeport8080, etdefinetheThepoin

See all articles