Docker 部署VUE项目

Docker 部署VUE项目

浅尝Docker+Nginx部署项目,涉及到的都是比较简单的操作,如有错误,请指正!谢谢!

在docker中启动vue容器时,本质上是启动了一个Nginx服务,我们要做的就是将项目构建成我们“定制”的Nginx服务镜像,再进行容器启动。

所需文件

  • Dockerfile
  • Nginx配置文件
  • Vue项目Build后的静态文件

创建Dockerfile

Dockerfile内容:

其本质就是用来构建镜像,包含构建镜像所需的指令和说明

FROM nginx #标准的nginx镜像,我们需要基于标准的nginx镜像制作自己的镜像
MAINTAINER blogapp #设置生成镜像的Author 
COPY . /usr/share/nginx/html/ #拷贝当前目录的文件到指定文件夹下,改文件夹为镜像中的文件夹
COPY blogapp.conf /etc/nginx/nginx.conf #拷贝.conf文件到镜像下,替换掉原有的nginx.conf
RUN echo 'build img ok!' #输出完成

创建Nginx配置文件

Nginx配置文件内容:

用于对Nginx服务的配置

worker_processes auto;

events {
    worker_connections 1024;
}

http {
 include             mime.types;
 
 default_type        application/octet-stream;
 
 sendfile            on;
 
 keepalive_timeout 65;
 
 client_max_body_size 20m;
 
 ###### blogapp begin #######
    server {
        listen       80;
        server_name  localhost;
        location / {
			root /usr/share/nginx/html; #配置Vue项目根路径,与
			index index.html index.html; #配置首页
			try_files $uri $uri/ /index.html; #防止刷新报404
        }

        #error_page 404 /404.html;
            #location = /40x.html {
        #}

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

完成文件准备后,把文件ftp到服务器下。

构建镜像、启动容器

1、构建容器

进入vue项目文件夹下(我的目录为/home/Memoyu.Blog.App下)

构建镜像:

docker build -t memoyu/blogappimg . 
#-t  为容器重新分配一个伪输入终端,通常与 -i 同时使用;
#memoyu/blogappimg  为容器名称
#.  该点为当前目录

查看当前所有镜像:

docker images

删除镜像:

docker rmi imageID
#imageID  为需要删除镜像的ID,删除前需保证没有容器在引用

2、启动容器

启动容器:

docker run --name blogappcontainer -it -p 9002:80 memoyu/blogappimg
#--name blogappcontainer  --name为配置容器名称,空格后跟容器名称
#-it  容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。
#-p  为配置容器端口映射,容器中的80端口映射到本机的9002端口(默认容器内端口为80)
#memoyu/blogappimg  镜像名称
#**在执行当前命令时,会进行容器日志打印,使用ctrl+c可跳出,同时容器会终止,需重新启动容器,否则,如果不需要查看日志,可以使用-d参数**

查看当前容器:

docker ps -a
-a  为查看全部,如果没有-a则未查看在运行的容器

启动容器:

docker start containerID
#containerID  为需要启动的容器ID

停止容器:

docker stop containerID
#containerID  为需要停止的容器ID

删除容器:

docker rm containerID
#containerID  为需要删除的容器ID,删除前需要保证容器处于停止状态

至此,容器已经构造并启动完成!

posted @ 2020-09-01 00:05  Memoyu  阅读(5987)  评论(0编辑  收藏  举报