Nginx+php-fpm docker镜像合二为一
跳转到导航
跳转到搜索
进阶见 Alpine#alpine lnmp 也为docker准备
https://github.com/evan886/alpine-dockerbuild/tree/main/alpine_nginx_php7.4
如果是用别人的images docker tag 29605f921438 evan886/conflu:v6 docker push evan886/conflu:v6 docker build -t evan886/alpine_nginx_php7.4:v3.14 . docker push evan886/alpine_nginx_php7.4:v3.14 docker run -it --name alpine_nginx_php7.3 -p 80:80 alpine_nginx_php7.3:1 . docker run -it --name alpine_nginx_php7.3 -p 80:80 id 域名 默认为wp.linuxsa.org 目录其实就是 /var/www/html 还有个 docker pull evan886/wp:v5.8 docker build -t evan886/wp:v5.8 . tree . . ├── Dockerfile ├── usage └── wordpress-5.8-zh_CN.tar.gz cat Dockerfile FROM evan886/alpine_nginx_php7.4:v3.14 #ADD default.conf /etc/nginx/conf.d/ ADD wordpress-5.8-zh_CN.tar.gz /var/www/html/ RUN chown www-data:www-data -R /var/www/html docker run --name wp -p80:80 -d 54254a4fbae1 http://wp.linuxsa.org/wordpress/wp-admin/setup-config.php
troubleshooting
为什么老是 403呢 403 Forbidden ng 配置 添加 index.php 放在 第二位 c3 (cannot be forced) - image has dependent child images 要先删除 wp 注意 al ng include 没开启到我要的defaul 上面说在3.15会开启 现在开的默认的是报错的 nginx.conf 放太多server 拷贝到容器中 docker cp test.php alpine_nginx_php7.3:/var/www/html/ docker cp evan.php some-nginx:/var/www/html
my wordpress
cat aliyun/ng-dp.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: evan886/wp:v5.8
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: ngx-service
labels:
app: nginx
spec:
type: NodePort
selector:
app: nginx
ports:
- port: 80
targetPort: 80
nodePort: 32500
访问
http://192.168.88.70:32500/wordpress/wp-admin/setup-config.php
http://wp.linuxsa.org/wordpress/wp-admin/setup-config.php
TKE yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
description: wp测试
creationTimestamp: "2021-09-04T08:45:03Z"
generation: 1
labels:
k8s-app: wordpress
qcloud-app: wordpress
managedFields:
- apiVersion: apps/v1
manager: tke-apiserver
operation: Update
time: "2021-09-04T08:45:03Z"
- apiVersion: apps/v1
manager: kube-controller-manager
operation: Update
time: "2021-09-04T08:45:12Z"
name: wordpress
namespace: default
resourceVersion: "511239899"
selfLink: /apis/apps/v1/namespaces/default/deployments/wordpress
uid: 254856f1-2f61-49e8-9d70-a577a69a87ce
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: wordpress
qcloud-app: wordpress
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
k8s-app: wordpress
qcloud-app: wordpress
spec:
containers:
- env:
- name: PATH
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- name: PHPIZE_DEPS
value: "autoconf \t\tdpkg-dev dpkg \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkgconf \t\tre2c"
- name: PHP_INI_DIR
value: /usr/local/etc/php
- name: PHP_EXTRA_CONFIGURE_ARGS
value: --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --disable-cgi
- name: PHP_CFLAGS
value: -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- name: PHP_CPPFLAGS
value: -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- name: PHP_LDFLAGS
value: -Wl,-O1 -pie
- name: GPG_KEYS
value: 42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312
- name: PHP_VERSION
value: 7.4.22
- name: PHP_URL
value: https://www.php.net/distributions/php-7.4.22.tar.xz
- name: PHP_ASC_URL
value: https://www.php.net/distributions/php-7.4.22.tar.xz.asc
- name: PHP_SHA256
value: 8e078cd7d2f49ac3fcff902490a5bb1addc885e7e3b0d8dd068f42c68297bde8
image: ccr.ccs.tencentyun.com/evan/k8s:wpv5.8
imagePullPolicy: IfNotPresent
name: wp
resources:
limits:
cpu: 500m
memory: 1Gi
requests:
cpu: 250m
memory: 256Mi
securityContext:
privileged: false
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: qcloudregistrykey
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
status:
availableReplicas: 1
conditions:
- lastTransitionTime: "2021-09-04T08:45:12Z"
lastUpdateTime: "2021-09-04T08:45:12Z"
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
- lastTransitionTime: "2021-09-04T08:45:03Z"
lastUpdateTime: "2021-09-04T08:45:12Z"
message: ReplicaSet "wordpress-5977dc5976" has successfully progressed.
reason: NewReplicaSetAvailable
status: "True"
type: Progressing
observedGeneration: 1
readyReplicas: 1
replicas: 1
updatedReplicas: 1
see also
on qcloud nginx+php-fpm docker镜像合二为一
基于Alpine构建php7.0.27镜像的dockerfile