製作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