전에 php+nginx 환경 이미지 만들기에 대해 글을 쓰고 php 이미지를 만들어 봤습니다. 이 기사에서는 주로 PHP 미러링의 k8s 배포에 대한 몇 가지 예를 공유하여 도움이 되기를 바랍니다.
그럼 이 이미지를 어떻게 사용하나요?
1 docker를 사용하여 이 컨테이너를 직접 실행할 수 있습니다.
docker run --rm -d --name php -p 80:80 -v /tmp:/app
docker 명령 설명:
–rm: docker가 none 태그가 있는 이미지를 생성하지 못하도록 합니다.
-d: 생성된 컨테이너를 백그라운드에서 실행합니다.
– name: 컨테이너의 이름을 php로 지정합니다. 이는 후속 작업에 편리합니다.
-p: 지정된 포트의 처음 80은 호스트의 포트 번호이고, 두 번째 80은 호스트의 포트 번호입니다. 컨테이너
첫 번째 포트 번호는 호스트 시스템에서 사용 가능한 포트일 수 있으며 localhost:port 번호를 사용하여 액세스할 수 있습니다.
-v: v는 Volume의 약어로, 호스트 볼륨을 컨테이너에 마운트한다는 뜻입니다
첫 번째 /tmp는 호스트의 경로를 나타냅니다
두 번째 /app은 컨테이너의 경로입니다
기본 이미지 webdevops/php-nginx:centos-7-php56에 구성된 nginx 루트 경로가 /app이므로 여기서는 /app으로 지정합니다
파일을 추가합니다 in /tmp index.php
내용은 다음과 같습니다.
<? phpinfo() ?>
컨테이너를 시작한 후 호스트 주소 + 포트 번호에 액세스할 수 있습니다. 예를 들어, 컬 localhost: 포트 번호는 phpinfo를 반환합니다
webdevops에서 구성을 볼 수 있습니다. /php-nginx 이미지 문서 파일 경로
여기서 적용되는 nginx 구성 파일의 경로는 다음과 같습니다: /opt/docker/etc/nginx/vhost.conf
이 구성 파일에서 구성 루트 경로를 볼 수 있습니다 모니터링 포트 80은 /app입니다.
이 경로는 수정 가능합니다.
2. k8s 배포 사용
웨어하우스에 이미지 업로드
docker push image_name
새 배포 구성 파일: 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
새 php -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
실행 명령:
kubectl apply -f php-deployment.yaml kubectl apply -f php-service.yaml
다음 명령을 통해 볼 수 있습니다
kubectl get deployment kubectl get service
그런 다음 호스트 IP에 액세스하여 phpinfo를 얻을 수 있습니다.
물론 index.php 파일은 / k8s 클러스터에서 PHP 컨테이너를 실행하는 노드의 tmp 경로
어떤 노드에서 실행 중인지 이 컨테이너는 kubecel get pods php를 통해 볼 수 있습니다.
이전에 php+nginx 환경 이미지를 작성하고 만들었습니다.
PHP 이미지를 만들었습니다. .
그럼 이 이미지를 어떻게 사용하나요?
1 docker를 사용하여 이 컨테이너를 직접 실행할 수 있습니다.
docker run --rm -d --name php -p 80:80 -v /tmp:/app
docker 명령 설명:
–rm: docker가 none 태그가 있는 이미지를 생성하지 못하도록 합니다.
-d: 생성된 컨테이너를 백그라운드에서 실행합니다.
– name: 컨테이너의 이름을 php로 지정합니다. 이는 후속 작업에 편리합니다.
-p: 지정된 포트의 처음 80은 호스트의 포트 번호이고, 두 번째 80은 호스트의 포트 번호입니다. 컨테이너
첫 번째 포트 번호는 호스트 시스템에서 사용 가능한 포트일 수 있으며, localhost:port 번호를 사용하여 액세스할 수 있습니다.
-v: v는 Volume의 약어로, 호스트 볼륨을 컨테이너에 마운트한다는 뜻입니다
첫 번째 /tmp는 호스트의 경로를 나타냅니다
두 번째 /app은 컨테이너의 경로입니다
기본 이미지 webdevops/php-nginx:centos-7-php56에 구성된 nginx 루트 경로가 /app이므로 여기서는 /app으로 지정합니다
파일을 추가합니다 in /tmp index.php
내용은 다음과 같습니다.
<? phpinfo() ?>
컨테이너를 시작한 후 호스트 주소 + 포트 번호에 액세스할 수 있습니다. 예를 들어, 컬 localhost: 포트 번호는 phpinfo를 반환합니다
webdevops에서 구성을 볼 수 있습니다. /php-nginx 이미지 문서 파일 경로
여기서 적용되는 nginx 구성 파일의 경로는 다음과 같습니다: /opt/docker/etc/nginx/vhost.conf
이 구성 파일에서 구성 루트 경로를 볼 수 있습니다 모니터링 포트 80은 /app입니다.
이 경로는 수정 가능합니다.
2. k8s 배포 사용
웨어하우스에 이미지 업로드
docker push image_name
새 배포 구성 파일: 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
새 php -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
실행 명령:
kubectl apply -f php-deployment.yaml kubectl apply -f php-service.yaml
다음 명령을 통해 볼 수 있습니다
kubectl get deployment kubectl get service
그런 다음 호스트 IP에 액세스하여 phpinfo를 얻을 수 있습니다.
물론 index.php 파일은 / k8s 클러스터에서 PHP 컨테이너를 실행하는 노드의 tmp 경로
어떤 노드에서 실행되고 있는지 이 컨테이너는 kubecel get pods php를 통해 볼 수 있습니다.
관련 권장 사항:
Docker를 사용하여 PHP 개발 환경을 배포하는 방법
Linux에서 PHP 프로젝트를 배포하는 방법은 무엇입니까?
Linux에서 공존할 수 있도록 여러 버전의 PHP 배포
위 내용은 k8s 배포 PHP 미러 인스턴스 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!