k8s部署php镜像

来源:互联网 发布:阿里巴巴北京总部 知乎 编辑:程序博客网 时间:2024/06/05 14:33

之前写了 制作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

deployment.yamlapiVersion: extensions/v1beta1kind: Deploymentmetadata:  name: phpspec:  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: ServiceapiVersion: v1metadata:  name: php-service  namespace: default  labels:    app: phpspec:  ports:  - name: listener    protocol: TCP    port: 80    targetPort: 80  selector:    app: php  type: LoadBalancer  externalIPs:    - your ip address

执行命令:

kubectl apply -f php-deployment.yamlkubectl apply -f php-service.yaml

可通过 以下命令查看

kubectl get deploymentkubectl get service

之后可以通过访问你的宿主机ip来获得phpinfo
当然你的k8s集群中运行php容器节点的/tmp路径下需要有index.php这个文件
至于是哪个节点运行了这个容器可以通过 kubecel get pods php来查看