0

これだけでワードプレスアプリケーションのdockerイメージを作成しました

FROM wordpress:php7.4-apache
COPY . /var/www/html

プライベートレポに自分のイメージをプッシュした後。新しいイメージを実行すると、カスタム ワードプレスのファイルは/var/www/html.

しかし、pvc を使用して kubernetes でデプロイを作成すると、パス /var/www/html にあるファイルが wordpress:php7.4-apache イメージのファイルに置き換えられます。

私はこのように私のPVCを作成します

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: wp-pv-claim
      namespace: custom
      labels:
        app: wordpress
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 20Gi

そして私のデプロイは次のようになります

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: custom
  name: wordpress
  labels:
    app: wordpress
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wordpress
  template:
    metadata:
      labels:
        app: wordpress
    spec:
      containers:
        - image: privaterepo.azurecr.io/custom:latest
          name: wordpress
          env:
            - name: WORDPRESS_DB_HOST
              value: mysqlhost
            - name: DB_HOST
              value: mysqlhost
            - name: WORDPRESS_DB_USER
              value: mysqluser
            - name: DB_USER
              value: mysqluser
            - name: WORDPRESS_DB_PASSWORD
              value: mysqlpassword
            - name: DB_PASS
              value: mysqlpassword
            - name: WORDPRESS_DB_NAME
              value: dbname
            - name: DB_NAME
              value: dbname
            - name: WORDPRESS_TABLE_PREFIX
              value: wp
          ports:
            - containerPort: 80
              name: client
          volumeMounts:
            - name: wordpress-persistent-storage
              mountPath: /var/www/html
      volumes:
        - name: wordpress-persistent-storage
          persistentVolumeClaim:
            claimName: wp-pv-claim
4

1 に答える 1

1

次世代に答えを提供するコメントで議論されたすべてに基づいています:)

monachus / wordpressによると

Wordpress の Docker イメージの何が問題になっていますか?

Wordpress によって出荷されたコンテナは、コンテナが最初に作成されたときに /usr/src/wordpress のコンテンツを /var/www/html にコピーしますが、/var/www/html にコンテンツが存在しない場合に限ります。つまり、コンテナーを既にデプロイしており、その場所に永続ボリュームがマウントされている場合、コンテナーを 4.7.4 から 4.8.1 にアップグレードできます。4.8.1 であると主張しても、何も起こりません。

正しいのではなく、パスDockerfileを含める必要があります/usr/src/wordpress/var/www/html

FROM wordpress:php7.4-apache
COPY . /usr/src/wordpress
于 2020-02-07T13:03:33.863 に答える