之前写了 制作php+nginx环境镜像 ,制作了一个php镜像。本文主要和大家分享关于k8s部署php镜像实例,希望能帮助到大家。
那么如何使用这个镜像呢?
1.可以直接用docker来运行这个容器
docker run --rm -d --name php -p 80:80 -v /tmp:/app
docker命令解释:
–rm : 防止docker产生tag为 none的的镜像
-d : 使得产生的container在后台运行
–name : 指定该container 名称为php ,方便之后操作
-p :指定端口 第一个80为宿主机的端口号,第二个80为container的端口号
第一个端口号可以是你的宿主机的任何可用端口,可以用localhost:端口号进行访问。
-v : v是volume的缩写,即将宿主机的卷挂载到container中
第一个/tmp指的是宿主机中的path路径
第二个/app是container的path路径
由于基础镜像webdevops/php-nginx:centos-7-php56中配置的nginx root路径为/app,所以此处指定为/app
在/tmp中添加文件index.php
内容为:
<? phpinfo() ?>
启动容器后即可访问宿主机地址+端口号,如curl localhost:端口号,即会返回phpinfo
在webdevops/php-nginx镜像文档中即可看到配置文件的路径
此处生效的nginx配置文件路径是:/opt/docker/etc/nginx/vhost.conf
在该配置文件中可以看到监听80端口的配置root路径为/app
可以修改该路径
2.使用k8s部署
将镜像上传至仓库中
docker push image_name
新建deployment 配置文件: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
当然你的k8s集群中运行php容器节点的/tmp路径下需要有index.php这个文件
至于是哪个节点运行了这个容器可以通过 kubecel get pods php来查看
之前写了 制作php+nginx环境镜像
制作了一个php镜像。
那么如何使用这个镜像呢?
1.可以直接用docker来运行这个容器
docker run --rm -d --name php -p 80:80 -v /tmp:/app
docker命令解释:
–rm : 防止docker产生tag为 none的的镜像
-d : 使得产生的container在后台运行
–name : 指定该container 名称为php ,方便之后操作
-p :指定端口 第一个80为宿主机的端口号,第二个80为container的端口号
第一个端口号可以是你的宿主机的任何可用端口,可以用localhost:端口号进行访问。
-v : v是volume的缩写,即将宿主机的卷挂载到container中
第一个/tmp指的是宿主机中的path路径
第二个/app是container的path路径
由于基础镜像webdevops/php-nginx:centos-7-php56中配置的nginx root路径为/app,所以此处指定为/app
在/tmp中添加文件index.php
内容为:
<? phpinfo() ?>
启动容器后即可访问宿主机地址+端口号,如curl localhost:端口号,即会返回phpinfo
在webdevops/php-nginx镜像文档中即可看到配置文件的路径
此处生效的nginx配置文件路径是:/opt/docker/etc/nginx/vhost.conf
在该配置文件中可以看到监听80端口的配置root路径为/app
可以修改该路径
2.使用k8s部署
将镜像上传至仓库中
docker push image_name
新建deployment 配置文件: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
当然你的k8s集群中运行php容器节点的/tmp路径下需要有index.php这个文件
至于是哪个节点运行了这个容器可以通过 kubecel get pods php来查看。
相关推荐:
以上是关于k8s部署php镜像实例的详细内容。更多信息请关注PHP中文网其他相关文章!