Gestion de serveur Linux : comment utiliser Docker pour un déploiement et une mise à l'échelle rapides ?

WBOY
Libérer: 2023-07-28 22:45:35
original
1373 Les gens l'ont consulté

Gestion de serveur Linux : Comment utiliser Docker pour un déploiement et une expansion rapides ?

Introduction : 
Avec le développement de la technologie de cloud computing et de conteneurisation, Docker, en tant qu'outil de virtualisation léger, est devenu le premier choix de nombreux développeurs et personnels d'exploitation et de maintenance. Cet article explique comment utiliser Docker pour un déploiement et une expansion rapides sur des serveurs Linux afin d'améliorer l'efficacité opérationnelle et l'évolutivité des applications.

  1. Installer Docker
    Avant de commencer, nous devons d'abord installer Docker sur le serveur Linux. Veuillez suivre les étapes ci-dessous pour installer :

Première étape : Mettre à jour les packages du serveur

$ sudo apt-get update
Copier après la connexion

Étape deux : Installer les dépendances Docker

$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
Copier après la connexion

Troisième étape : Ajouter la clé GPG officielle de Docker

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Copier après la connexion

Quatrième étape : Ajouter un référentiel Docker

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Copier après la connexion

Étape cinq : Mettez à jour l'index du package et installez Docker

$ sudo apt-get update
$ sudo apt-get install docker-ce
Copier après la connexion
  1. Écrivez un fichier Docker
    Avant d'utiliser Docker, nous devons écrire un fichier Docker pour définir comment créer une image Docker. Voici un exemple de Dockerfile :
# 使用基础镜像
FROM ubuntu:latest

# 设置作者信息
MAINTAINER Your Name <your@email.com>

# 安装相关依赖
RUN apt-get update && apt-get install -y 
    python3 
    python3-pip

# 设置工作目录
WORKDIR /app

# 将应用程序添加到镜像中
COPY . /app

# 安装应用程序依赖
RUN pip3 install -r requirements.txt

# 设置容器启动命令
CMD ["python3", "app.py"]
Copier après la connexion

Dans l'exemple ci-dessus, nous avons utilisé une dernière image Ubuntu comme image de base. Nous avons ensuite installé Python3 et l'outil pip3 et copié le dossier de l'application sur l'image. Ensuite, nous installons les dépendances de l'application et définissons la commande de démarrage du conteneur pour exécuter le fichier app.py.

  1. Construire l'image
    Après avoir terminé l'écriture du Dockerfile, nous pouvons utiliser la commande suivante pour construire l'image Docker :
$ docker build -t myapp:latest .
Copier après la connexion

La commande ci-dessus construira une image nommée myapp en fonction de la définition dans le Dockerfile et la marquera comme la dernière version.

  1. Exécuter le conteneur
    Après avoir construit l'image, nous pouvons utiliser la commande suivante pour exécuter le conteneur :
$ docker run -d -p 80:5000 myapp:latest
Copier après la connexion

La commande ci-dessus démarrera un conteneur exécuté en mode arrière-plan et mappera le port 80 de l'hôte au port 5000 du conteneur. De cette façon, nous pouvons accéder à l'application via le navigateur sur le port 80 de l'hôte.

  1. Mise à l'échelle des applications
    À l'aide de Docker, les applications peuvent être facilement mises à l'échelle via plusieurs instances de conteneur pour augmenter la disponibilité et le débit du système. Voici un exemple d'implémentation simple :

Tout d'abord, nous devons utiliser Docker Compose pour définir toute l'architecture de l'application. Créez un fichier appelé docker-compose.yml et ajoutez le contenu suivant :

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    image: myapp:latest
    ports:
      - "80:5000"

  load_balancer:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
    depends_on:
      - app
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini deux services : app et load_balancer. Le service d'application construira l'image en fonction du Dockerfile dans le répertoire actuel et mappera le port 5000 du conteneur au port 80 de l'hôte. Le service load_balancer utilisera l'image Nginx et mappera le port 80 de l'hôte au port 80 du conteneur.

Ensuite, nous devons créer un fichier de configuration appelé nginx.conf et ajouter le contenu suivant :

upstream app_servers {
    server app:5000;
}

server {
    listen 80;
    location / {
        proxy_pass http://app_servers;
    }
}
Copier après la connexion

Le fichier de configuration ci-dessus définit un app_servers nommé en amont et utilise proxy_pass pour transmettre les requêtes au service d'application.

Enfin, utilisez la commande suivante pour exécuter plusieurs instances de l'application :

$ docker-compose up --scale app=3
Copier après la connexion

La commande ci-dessus exécutera 3 instances de conteneur d'application et utilisera Nginx comme équilibreur de charge pour la distribution du trafic.

Conclusion : 
En utilisant Docker, nous pouvons facilement déployer et faire évoluer des applications rapidement. En écrivant un Dockerfile pour définir les étapes de création d'images, en utilisant la commande docker run pour exécuter des conteneurs et en utilisant Docker Compose pour la gestion multi-conteneurs, nous pouvons gérer et faire évoluer les applications plus efficacement. J'espère que cet article pourra vous aider à utiliser Docker pour déployer et développer des serveurs Linux.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal