老蒋的知识库

  • 首页
  • 文章归档
  • 关于页面

  • 搜索

快速部署WordPress博客

发表于 2022-12-15 | 分类于 WordPress | 0 | 阅读次数 21

Docker部署

  1. 部署Mysql: docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.31
  2. 部署WordPress: docker run --name wordpress -p 80:80 -d wordpress:6.1.1-apache
  3. 访问mysql创建对应数据库: wordpress
  4. 配置wordpress, 访问http://127.0.0.1进行配置, 数据库填写刚刚创建的wordpress

K8S部署

# 创建部署文件mysql.yaml
cat > mysql.yaml <<EOF
apiVersion: v1
kind: Service
metadata:
  name: mysql
  labels:
    app: mysql
  namespace: db
spec:
  ports:
  - port: 3306
    targetPort: mysql-port
    protocol: TCP
    name: mysql-port
  selector:
    app: mysql
  type: ClusterIP
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mysql
  namespace: db
spec:
  serviceName: mysql
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - name: mysql
        image: docker.io/mysql:8.0.31
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: '123456'
        ports:
        - containerPort: 3306
          name: mysql-port
        volumeMounts:
        - name: mysql-data
          mountPath: /var/lib/mysql
        - name: mysql-conf
          mountPath: /etc/mysql/conf.d
  volumeClaimTemplates:
  - metadata:
      name: mysql-data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "nfs-local-k8s-0"
      resources:
        requests:
          storage: 5Gi
  - metadata:
      name: mysql-conf
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "nfs-local-k8s-0"
      resources:
        requests:
          storage: 100Mi
EOF
# 创建部署文件wordpress.yaml
cat > wordpress.yaml <<EOF
apiVersion: v1
kind: Service
metadata:
  name: wordpress
  labels:
    app: wordpress
  namespace: wordpress
spec:
  ports:
  - port: 80
    targetPort: wp-port
    protocol: TCP
    name: wp-port
  selector:
    app: wordpress
  type: ClusterIP
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: wordpress
  namespace: wordpress
spec:
  serviceName: wordpress
  replicas: 1
  selector:
    matchLabels:
      app: wordpress
  template:
    metadata:
      labels:
        app: wordpress
    spec:
      containers:
      - name: wordpress
        image: docker.io/wordpress:6.1.1-apache
        env:
        - name: WORDPRESS_DB_HOST
          value: 'mysql.db'
        - name: WORDPRESS_DB_USER
          value: 'root'
        - name: WORDPRESS_DB_PASSWORD
          value: '123456'
        - name: WORDPRESS_DB_NAME
          value: 'wordpress'
        ports:
        - containerPort: 80
          name: wp-port
        volumeMounts:
        - name: www
          mountPath: /var/www/html
  volumeClaimTemplates:
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "nfs-local-k8s-0"
      resources:
        requests:
          storage: 5Gi
EOF

# 部署mysql和wordpress
kubectl apply -f mysql.yaml
kubectl apply -f wordpress.yaml
  • 本文作者: jagger
  • 本文链接: /archives/kuai-su-bu-shu-wordpress-bo-ke
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
Apisix的坑
试用期被裁员怎么办,如何保护自己的权益
jagger

jagger

66 日志
31 分类
0 标签
Creative Commons
0%
© 2026 jagger
由 Halo 强力驱动