选择一个文件夹
npm init vue@latest
然后
roject name: … <your-project-name>
✔ Add TypeScript? … No / Yes
✔ Add JSX Support? … No / Yes
✔ Add Vue Router for Single Page Application development? … No / Yes
✔ Add Pinia for state management? … No / Yes
✔ Add Vitest for Unit testing? … No / Yes
✔ Add Cypress for both Unit and End-to-End testing? … No / Yes
✔ Add ESLint for code quality? … No / Yes
✔ Add Prettier for code formatting? … No / Yes
Scaffolding project in ./<your-project-name>...
Done.
npm run build
此时会有一个dist文件夹,里面是编译出来的包
npm run dev
思路是本地用nginx包装让外部可以来调用,开放9030
端口
dist丢进去,然后建立Dockerfile和nginx.conf
Dockerfile
# 设置基础镜像
FROM nginx
# 定义作者
MAINTAINER tomxiang
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面
COPY dist/ /usr/share/nginx/html/
COPY nginx.conf /etc/nginx/nginx.conf
RUN echo 'echo init ok!!'
EXPOSE 80
nginfx.conf
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
client_max_body_size 20m;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
docker build -t vue:1.0 -f Dockerfile .
docker run --name=vue_1.0 -d -p 9030:80 vue:1.0
这里的nginx是开放对外80端口,用来反向代理出最后的容器
docker exec -it 682987294b1a /bin/bash
cd /etc/nginx/conf.d/
vim default.conf
location /中配置的是vue1.0容器的ip
docker inspect 7f8fedfce19e
这里⚠️Gateway一样才能够填写到location,否则启动docker的时候要加上--link操作
http://119.45.4.173:9030/
两者表现一样, 大功告成
原因:本地要开放80端口,因为cms中的nginx.conf配置的
server {
listen 80;
调试的时候可以进入容器中看到
apt-get update
apt-get install net-tools
netstat -an
80端口被监听,8081无效
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。