J'ai déjà écrit sur la création d'une image d'environnement php+nginx et j'ai créé une image php. Cet article partage principalement avec vous quelques exemples de déploiement par k8 de la mise en miroir PHP, en espérant vous aider.
Alors comment utiliser cette image ?
1. Vous pouvez utiliser directement docker pour exécuter ce conteneur
docker run --rm -d --name php -p 80:80 -v /tmp:/app
Explication de la commande docker :
–rm : empêcher docker de générer des balises of none Mirror
-d : Faire fonctionner le conteneur généré en arrière-plan
–name : Spécifiez le nom du conteneur en tant que php pour faciliter les opérations ultérieures
-p : Spécifiez le numéro de port Un 80 est le numéro de port de l'hôte et le second 80 est le numéro de port du conteneur
Le premier numéro de port peut être n’importe quel port disponible sur votre machine hôte et est accessible à l’aide de localhost:port number.
-v : v est l'abréviation de volume, qui consiste à monter le volume hôte dans le conteneur
Le premier /tmp fait référence au chemin dans la machine hôte
Le deuxième /app est le chemin du conteneur
Puisque le chemin racine nginx configuré dans l'image de base webdevops/php-nginx:centos-7-php56 est /app, il est donc spécifié ici comme /app
Ajoutez le fichier index.php
dans /tmp avec le contenu :
<? phpinfo() ?>
Après avoir démarré le conteneur, vous pouvez accéder à l'adresse de l'hôte + au numéro de port Par exemple, curl localhost:port. le numéro renverra phpinfo
Vous pouvez voir le chemin du fichier de configuration dans le document image webdevops/php-nginx
Le chemin du fichier de configuration nginx en vigueur ici est : /opt/docker/etc/nginx/ vhost.conf
Dans Dans ce fichier de configuration, vous pouvez voir que le chemin racine configuré pour l'écoute sur le port 80 est /app
Vous pouvez modifier le chemin
2. Utiliser le déploiement k8s
pour télécharger l'image dans l'entrepôt
docker push image_name
Créez un nouveau fichier de configuration de déploiement : php-deployment.yaml
deployment.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: php spec: replicas: 1 template: metadata: labels: app: php spec: containers: - name: php image: image_address ports: - containerPort: 80 volumeMounts: - mountPath: /app name: php-volume volumes: - name: php-volume hostPath: path: /tmp
Créez un nouveau php -fichier service.yaml
kind: Service apiVersion: v1 metadata: name: php-service namespace: default labels: app: php spec: ports: - name: listener protocol: TCP port: 80 targetPort: 80 selector: app: php type: LoadBalancer externalIPs: - your ip address
Exécutez la commande :
kubectl apply -f php-deployment.yaml kubectl apply -f php-service.yaml
Vous pouvez le visualiser via la commande suivante
kubectl get deployment kubectl get service
Vous pouvez ensuite obtenir phpinfo en accéder à l'adresse IP de votre hôte
Bien sûr, le / du nœud du conteneur php exécuté dans votre cluster k8s Le fichier index.php doit être dans le chemin tmp
Quant au nœud qui exécute ce conteneur, vous pouvez le vérifier via kubecel get pods php
Je l'ai déjà écrit et j'ai créé une image d'environnement php+nginx
J'ai créé un miroir php.
Alors comment utiliser cette image ?
1. Vous pouvez utiliser directement docker pour exécuter ce conteneur
docker run --rm -d --name php -p 80:80 -v /tmp:/app
Explication de la commande docker :
–rm : empêcher docker de générer des balises of none Mirror
-d : Faire fonctionner le conteneur généré en arrière-plan
–name : Spécifiez le nom du conteneur en tant que php pour faciliter les opérations ultérieures
-p : Spécifiez le numéro de port Un 80 est le numéro de port de l'hôte et le second 80 est le numéro de port du conteneur
Le premier numéro de port peut être n'importe quel port disponible sur votre machine hôte, accessible à l'aide de localhost:port number.
-v : v est l'abréviation de volume, qui consiste à monter le volume hôte dans le conteneur
Le premier /tmp fait référence au chemin dans la machine hôte
Le deuxième /app est le chemin du conteneur
Puisque le chemin racine nginx configuré dans l'image de base webdevops/php-nginx:centos-7-php56 est /app, il est donc spécifié ici comme /app
Ajoutez le fichier index.php
dans /tmp avec le contenu :
<? phpinfo() ?>
Après avoir démarré le conteneur, vous pouvez accéder à l'adresse de l'hôte + au numéro de port Par exemple, curl localhost:port. le numéro renverra phpinfo
Vous pouvez voir le chemin du fichier de configuration dans le document image webdevops/php-nginx
Le chemin du fichier de configuration nginx en vigueur ici est : /opt/docker/etc/nginx/ vhost.conf
Dans Dans ce fichier de configuration, vous pouvez voir que le chemin racine configuré pour l'écoute sur le port 80 est /app
Vous pouvez modifier le chemin
2. Utiliser le déploiement k8s
pour télécharger l'image dans l'entrepôt
docker push image_name
Créez un nouveau fichier de configuration de déploiement : php-deployment.yaml
deployment.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: php spec: replicas: 1 template: metadata: labels: app: php spec: containers: - name: php image: image_address ports: - containerPort: 80 volumeMounts: - mountPath: /app name: php-volume volumes: - name: php-volume hostPath: path: /tmp
Créez un nouveau php -fichier service.yaml
kind: Service apiVersion: v1 metadata: name: php-service namespace: default labels: app: php spec: ports: - name: listener protocol: TCP port: 80 targetPort: 80 selector: app: php type: LoadBalancer externalIPs: - your ip address
Exécutez la commande :
kubectl apply -f php-deployment.yaml kubectl apply -f php-service.yaml
Vous pouvez le visualiser via la commande suivante
kubectl get deployment kubectl get service
Vous pouvez ensuite obtenir phpinfo en accéder à l'adresse IP de votre hôte
Bien sûr, le / du nœud du conteneur php exécuté dans votre cluster k8s Le fichier index.php doit être dans le chemin tmp
Quant au nœud qui exécute ce conteneur, vous pouvez le vérifier via kubecel récupère les pods php.
Recommandations associées :
Comment utiliser Docker pour déployer un environnement de développement PHP
Comment déployer un projet php sous Linux ?
Déployer plusieurs versions de PHP pour coexister sous 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!