k8s 部署wordpress

製作nginx鏡像

docker pull centos:7.6.1810
docker run -it --name nginx centos:7.6.1810 /bin/bash

yum install epel-release
yum install nginx net-tools -y

vi /etc/nginx/nginx.conf

user root;
daemon off;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;


# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;


events {
    worker_connections 1024;
}


http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';


    access_log  /data/logs/nginx/access.log  main;


    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;


    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;


    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

}

vi /etc/nginx/conf.d/localhost.conf

server {
        listen 80;
        server_name wordpress.tencent.com localhost;
        error_log /data/logs/nginx/wordpress.tencent.com_error.log error;
        root /data/www/wordpress;
        index index.php;


        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php$ {
                include fastcgi.conf;
                fastcgi_pass unix:/dev/shm/php-fpm.sock;
        }
}

創建目錄

mkdir /data/logs/nginx -p

提交鏡像

docker commit b8e1e0ea8c1d mynginx:v1

製作php鏡像

docker run -it --name php centos:7.6.1810 /bin/bash

yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum install php70w php70w-fpm php70w-cli php70w-common php70w-devel php70w-gd php70w-pdo php70w-mysql php70w-mbstring php70w-bcmath php70w-xml php70w-peclredis php70w-process php70w-intl php70w-xmlrpc php70w-soap php70w-ldap php70w- opcache -y

vi /etc/php-fpm.conf

error_log = /data/logs/php/error.log
daemonize = no

vi /etc/php-fpm.d/www.conf

user = root
group = root
listen = /dev/shm/php-fpm.sock
listen.owner = root
listen.group = root
slowlog = /data/logs/php/www-slow.log
php_admin_value[error_log] = /data/logs/php/www-error.log

創建目錄

mkdir /data/logs/php -p

提交鏡像

docker commit 3350eef95741 myphp:v1

代碼

-rw-r--r--  1 root root   151 Jul  1 22:29 Dockerfile
-rw-r--r--  1 root root   405 Jul  1 22:09 index.php
-rw-r--r--  1 root root 19915 Jul  1 22:09 license.txt
-rw-r--r--  1 root root  7278 Jul  1 22:09 readme.html
-rw-r--r--  1 root root  6912 Jul  1 22:09 wp-activate.php
drwxr-xr-x  9 root root  4096 Jul  1 22:09 wp-admin
-rw-r--r--  1 root root   351 Jul  1 22:09 wp-blog-header.php
-rw-r--r--  1 root root  2332 Jul  1 22:09 wp-comments-post.php
-rw-r--r--  1 root root  2913 Jul  1 22:09 wp-config-sample.php
drwxr-xr-x  4 root root    52 Jul  1 22:09 wp-content
-rw-r--r--  1 root root  3940 Jul  1 22:09 wp-cron.php
drwxr-xr-x 21 root root  8192 Jul  1 22:09 wp-includes
-rw-r--r--  1 root root  2496 Jul  1 22:09 wp-links-opml.php
-rw-r--r--  1 root root  3300 Jul  1 22:09 wp-load.php
-rw-r--r--  1 root root 47874 Jul  1 22:09 wp-login.php
-rw-r--r--  1 root root  8509 Jul  1 22:09 wp-mail.php
-rw-r--r--  1 root root 19396 Jul  1 22:09 wp-settings.php
-rw-r--r--  1 root root 31111 Jul  1 22:09 wp-signup.php
-rw-r--r--  1 root root  4755 Jul  1 22:09 wp-trackback.php
-rw-r--r--  1 root root  3133 Jul  1 22:09 xmlrpc.php

nginx-wordpress鏡像製作

cat Dockerfile

FROM mynginx:v1
MAINTAINER 1226032602 [email protected]
RUN mkdir -p /data/www/wordpress
ADD . /data/www/wordpress
EXPOSE 80
ENTRYPOINT ["/usr/sbin/nginx"]
docker build . -t nginx-wordpress:v1
docker tag nginx-wordpress:v1 harbor.od.com/public/nginx-wordpress:v1
docker push harbor.od.com/public/nginx-wordpress:v1

php-wordpress鏡像製作

cat Dockerfile

FROM myphp:v1
MAINTAINER 1226032602 [email protected]
RUN mkdir -p /data/www/wordpress
ADD . /data/www/wordpress
ENTRYPOINT ["/usr/sbin/php-fpm","-R"]
docker build . -t php-wordpress:v1
docker tag php-wordpress:v1 harbor.od.com/public/php-wordpress:v1
docker push harbor.od.com/public/php-wordpress:v1

cat wordpress-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: wordpress
  namespace: default
  labels:
    k8s-app: wordpress
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: wordpress
  template:
    metadata:
      labels:
        k8s-app: wordpress
    spec:
      containers:
      - name: nginx
        image: harbor.od.com/public/nginx-wordpress:v1
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
      - name: php
        image: harbor.od.com/public/php-wordpress:v1
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

cat wordpress-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: wordpress
  namespace: default
  labels:
    k8s-app: wordpress
spec:
  selector:
    k8s-app: wordpress
  type: NodePort
  ports:
  - name: wordpressport
    protocol: TCP
    port: 81
    targetPort: 80
docker login --username=dong1226032602 registry.cn-hangzhou.aliyuncs.com



docker tag mynginx:v1 registry.cn-hangzhou.aliyuncs.com/wuxingge/mynginx:v1
docker push registry.cn-hangzhou.aliyuncs.com/wuxingge/mynginx:v1


docker tag myphp:v1 registry.cn-hangzhou.aliyuncs.com/wuxingge/myphp:v1
docker push registry.cn-hangzhou.aliyuncs.com/wuxingge/myphp:v1



docker tag nginx-wordpress:v1 registry.cn-hangzhou.aliyuncs.com/wuxingge/nginx-wordpress:v1
docker push registry.cn-hangzhou.aliyuncs.com/wuxingge/nginx-wordpress:v1



docker tag php-wordpress:v1 registry.cn-hangzhou.aliyuncs.com/wuxingge/php-wordpress:v1
docker push registry.cn-hangzhou.aliyuncs.com/wuxingge/php-wordpress:v1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章