vue.js项目构建Dockerfile,并运行在k8s集群中
1、代码编写完成之后,在运行vue.js的IDE中运行以下命令:npm run build之后再 Vue的项目根目录下 会新生成一个 dist 的文件夹。2、在dist文件夹的同级目录下新建 Dockerfile文件,并写入以下内容:FROM nginxCOPY ./dist /usr/share/nginx/html/EXPOSE 80CMD ["nginx", "-g", "d...
·
1、代码编写完成之后,在运行vue.js的IDE中运行以下命令:
npm run build
之后再 Vue的项目根目录下 会新生成一个 dist 的文件夹。
2、在dist文件夹的同级目录下新建 Dockerfile文件,并写入以下内容:
FROM nginx
COPY ./dist /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
目录结构如图所示:
3、构建vue项目的镜像,只需要dist文件 和 Dockerfile就可以,因此目录下的路径下,执行以下命令构建Docker镜像:
docker build -t firstvue:1.08 .
4、将 firstvue:1.08镜像文件拷贝到k8s集群所有节点或者 k8s集群的私有仓库中,参考命令如下:
docker save -o dest.tar 源镜像
docker tag
docker load -i
scp x.tar node:/...
5、编写firstvue.yml文件:
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: firstvue
spec:
selector:
matchLabels:
app: firstvue
template:
metadata:
labels:
app: firstvue
spec:
containers:
- name: firstvue
#image: 192.168.6.11/web/webui:0.9.2
image: firstvue:1.08
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: firstvue
spec:
ports:
- name: http
port: 80
#nodePort: 80
protocol: TCP
selector:
app: firstvue
type: NodePort
#type: LoadBalancer
#loadBalancerIP: 192.168.6.152i
6、部署firstvue服务:
kubectl apply -f firstvue.yml
更多推荐
已为社区贡献3条内容
所有评论(0)