记录一次vue部署docker步骤

vue部署docker

拉取nginx镜像

docker pull nginx

有Dockerfile文件步骤:

1、打包vue

npm run build

2、写一个default.conf 文件,替换镜像中的conf文件

server {
    listen       8031;# 配置端口
    server_name  0.0.0.0; # 修改为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;
    }
}

3、写一个Dockerfile文件

FROM nginx 
  
MAINTAINER zy
 
COPY dist/  /usr/share/nginx/html/

COPY default.conf  /etc/nginx/conf.d/default.conf   

4、把dist、Dockerfile、default.conf文件上传到服务器,目录如下:

image

5、ok,完成前面的步骤就可以进入服务器控制台了,创建容器

docker build -t 镜像别名 .(注意这是个点,不要忘记了)

6、然后运行容器

docker run -d -p 端口:端口 --name 镜像名称 镜像别名

7、部署完成,这是有Dockerfile文件的情况下。

没有Dockerfile文件的步骤

1、进入工作目录

cd /usr/local/docker/nginx

如果不存在,则创建

mkdir -p /usr/local/docker/nginx

在工作目录下一次创建html、conf两个文件夹

mkdir -p html etc

2、创建临时容器

docker run --name temp -p 80:80 -v /usr/local/docker/nginx/html:/usr/share/nginx/html  -d nginx

参数详解:
-p 80:80:将容器的 80端口映射到主机的 80端口,第一个是主机端口,第二个是容器端口。
--name 容器名字 可以随便自定义哦!
-v /usr/local/docker/nginx/html:/usr/share/nginx/html:将主机当前目录下的 html目录挂载到容器的 /usr/share/nginx/html。
-d 后台启动
nginx 启动的镜像的名字

3、nginx配置文件

将nginx容器中的配置文件所在的目录下的文件内容拷贝到宿主机中,让这两个目录的原始内容先保持一致

 docker cp 容器id:/etc/nginx /usr/local/docker/nginx/etc

将拷贝出来的文件搬家一下

mv nginx/* /usr/local/docker/nginx/etc

我们能在主机的etc目录下看到拷贝的文件,在conf.d文件夹中查看到default.conf文件

4、删除创建的临时容器

//停止容器
docker stop 容器名称
//删除容器
docker rm 容器名称

5、修改default.conf文件

cd /usr/local/docker/nginx/etc/conf.d
vim default.conf

按insert键,进入编辑模式,根据需要自己修改调整

修改完,按esc键 ,再按: ,最后输入wq,保存退出

6、创建容器

docker run --restart=always --name nginx -p 80:80  -v /usr/local/docker/nginx/html:/usr/share/nginx/html -v /usr/local/docker/nginx/etc:/etc/nginx -d  nginx

参数详解:
-p 80:80:将容器的 80端口映射到主机的 80端口,第一个是主机端口,第二个是容器端口。

--restart=always 自动启动容器

--name 容器名字 可以随便自定义哦!
-v /usr/local/docker/nginx/html:/usr/share/nginx/html:将主机当前目录下的 html目录挂载到容器的 /usr/share/nginx/html。

-v /usr/local/docker/nginx/etc:/etc/nginx:将主机当前目录下的 etc目录挂载到容器的 /etc/nginx。
-d 后台启动
nginx 启动的镜像的名字

7、上传vue文件

将生成文件拷贝到 /usr/local/docker/nginx/html

8、重启容器

docker restart  nginx

这个没有Dockerfile的步骤转载于:

原文链接:https://blog.csdn.net/yanguan025/article/details/127551578

posted @ 2023-02-08 23:14  妙妙屋(zy)  阅读(494)  评论(0编辑  收藏  举报