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.
Première étape : Mettre à jour les packages du serveur
$ sudo apt-get update
Étape deux : Installer les dépendances Docker
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
Troisième étape : Ajouter la clé GPG officielle de Docker
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
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"
Étape cinq : Mettez à jour l'index du package et installez Docker
$ sudo apt-get update $ sudo apt-get install docker-ce
# 使用基础镜像 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"]
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.
$ docker build -t myapp:latest .
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.
$ docker run -d -p 80:5000 myapp:latest
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.
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
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; } }
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
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!