1.nginx打包镜像
#1、编写DockerFilemkdir /opt/my_nginx_dockerfilecd /opt/my_nginx_dockerfile
cat >default.conf<<'EOF'
server {listen 80;listen [::]:80;server_name localhost;#access_log /var/log/nginx/host.access.log main;location / {root /usr/share/nginx/html;index index.html index.htm;}location /tomcat/ {proxy_pass http://tomcat-web-service;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-IP $remote_addr;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}
}
EOFcat >/opt/my_nginx_dockerfile/Dockerfile << 'EOF'
FROM nginx
WORKDIR /etc/nginx/conf.d
RUN echo "nginx v1 version" >/usr/share/nginx/html/index.html
ADD default.conf /etc/nginx/conf.d
EOFcd /opt/my_nginx_dockerfile
#2、编译镜像docker build -t 192.168.1:30012/k8s/my_nginx:v1 .#3、登陆镜像docker login -u admin -p Harbor12345 192.168.1:30012#4、推送至仓库docker push 192.168.1:30012/k8s/my_nginx:v1
2.Tomcat打包镜像
#编写DockerFilemkdir -p /opt/my_tomcat_dockerfile
cat >/opt/my_tomcat_dockerfile/Dockerfile << 'EOF'
FROM tomcat:latest
RUN mkdir webapps/ROOT/tomcat -p && echo "My Tomcat v1 version">webapps/ROOT/tomcat/index.html
EOF
cd /opt/my_tomcat_dockerfile#编译镜像docker build -t 192.168.1:30012/k8s/my_tomcat:v1 .#登陆镜像docker login -u admin -p Harbor12345 192.168.1:30012#推送至仓库docker push 192.168.1:30012/k8s/my_tomcat:v1
3.部署nginx
cat >nginx-proxy.yml<<'EOF'
---
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: 192.168.1:30012/k8s/my_nginx:v1ports:- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:name: nginx-web-servicelabels:app: nginx-web-service
spec:type: NodePortselector:app: nginxports:- protocol: TCPname: httpport: 80targetPort: 80nodePort: 30086
EOFkubectl apply -f nginx-proxy.yml
4.部署Tomcat
cat >tomcat-proxy.yml<<'EOF'
apiVersion: apps/v1
kind: Deployment
metadata:name: tomcat-deploymentlabels:app: tomcat
spec:replicas: 1selector:matchLabels:app: tomcattemplate:metadata:labels:app: tomcatspec:containers:- name: tomcatimage: 192.168.1:30012/k8s/my_tomcat:v1ports:- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:name: tomcat-web-servicelabels:app: tomcat-web-service
spec:type: NodePortselector:app: tomcatports:- protocol: TCPname: httpport: 80targetPort: 8080nodePort: 30087
EOFkubectl apply -f tomcat-proxy.yml
#测试
curl http://192.168.1:30086/tomcat/