Docker部署vue

docker部署vue

首先你已经安装好了docker

获取nginx镜像

docker pull nginx:1.25.0

创建 nginx config配置文件

在项目根目录下创建文件default.conf,写入如下内容

server {
    listen       80;
    server_name  localhost; # 修改为docker服务宿主机的ip

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

该配置文件定义了首页的指向为 /usr/share/nginx/html/index.html, 所以
我们可以一会把构建出来的index.html文件和相关的静态资源放到/usr/share/nginx/html目录下

创建Dockerfile文件

在项目根目录下创建Dockerfile文件,写入下面内容

FROM nginx:1.25.0
MAINTAINER zouzou
RUN rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/

说明

FROM nginx:该镜像是基于nginx:latest镜像构建的,可以在后面加上[:版本号]指定版本
MAINTAINER zouzou:添加说明
RUN rm /etc/nginx/conf.d/default.conf:删除目录下的default.conf文件
ADD default.conf /etc/nginx/conf.d/:将default.conf复制到/etc/nginx/conf.d/下,用本地的default.conf配置来替换nginx镜像里的默认配置
COPY dist/ /usr/share/nginx/html/:将项目根目录下dist文件夹(构建之后才会生成)下的所有文件复制到镜像/usr/share/nginx/html/目录下 

构建docker镜像

docker build -t griffin_nginx_images:1.25.0 .

注意不要少了最后的“.”(点)

-t是给镜像命名,.(点)是基于当前目录的Dockerfile来构建镜像

启动docker容器

docker run -d -p 9002:80 --name griffin_nginx griffin_nginx_images:1.25.0
docker run:基于镜像启动一个容器
-d:后台方式启动
-p 9090:80: 端口映射,将宿主机的9090端口映射到容器的80端口
--name:容器名,我起的叫griffin_nginx 
griffin_nginx_images:要启动的镜像名称
posted @ 2024-12-26 19:47  苓茜  阅读(39)  评论(0)    收藏  举报