Docker安装Nginx并部署vue3项目
·
背景
为了方便前端的迁移,我们把前端用到的环境生成Docker 的镜像。利用容器提供前端运行的环境。
Docker 介绍
什么是docker
Docker可以理解为一个虚拟环境,主要作用是为程序的运行提供环境。
三基本的概念:
1.镜像(image):可理解为装了运行环境的文件。如Nginx 的镜像。
2.容器(container):通过镜像生成一个容器,这个容器为我们为我们程序的运行提供环境。如通过Nginx 镜像生成一个Nginx 的容器,Vue 打包就可以放到Nginx 容器中运行。
3.仓库(repositery): 用来存放镜像(image)的。
制作Nginx 镜像
其实镜像在 仓库(repositery)中拉取出来就可以被使用了,这里的制作的意思是对镜像进行二次的配置,定制化镜像,使其拥有额外的功能。
操做流程
仓库中拉取镜像->通过Dockerfile 对镜像进行定制->运行构建命令对镜像进行构建-> 通过镜像生成容器。
下面通过制作一个容器映射端口容器内的端口到8081端口,把容器的目录挂载到data 中,实现开机自启动,并可快速拷贝迁移docker。
-
docker seacher nginx 查看可用版本

-
docker pull nginx:latest 下载镜像
-
docker images 查看镜像
-
mkdir dockerfile 目录
-
vim dockerfile 进入dockerfile 并建立dockerfile 文件
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80 #这里的exopse 是声明端口的意思,用大写的P(docker run -d -P --name <dockerContainer> <dockerimage>) 时会随机的挂载端口。
VOLUME /etc/nginx/nginx.conf # 匿名挂载,这里的匿名挂载的意思是默认宿主机和容器的路径是一样的,可以在运行容器的时候吧宿主机的路径挂载路径重命名(docker run -d -v <宿主机>:/etc/nginx/nginx.conf <dockerContainer> <dockerimage>)
CMD ["nginx","-g","daemon off;"]
- docker build -t 0910nginx . 其中点“.”代表当前文件夹的上下文,为dockerfile里面的COPY提供资源。
- 在宿主主机中创建文件挂在的文件夹用于存放配置文件nginx.conf 和 网站资源文件
# /data/mount_dockerfile/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /data/liangmingblog/dist;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
网站的内容存放在
/data/mount_dockerfile/nginx/kan/
- 生成容器,映射端口及把宿主机文件夹挂在到docker中
docker run -d -p 8081:80 -v /data/mount_dockerfile/nginx/kan/:/data/liangmingblog/ -v /data/mount_dockerfile/nginx/conf/nginx.conf:/etc/nginx/nginx.conf --name 0910-nginx-container 0910nginx
常用命令
- docker ps -a | grep nginx # 查看docker容器并抓取nginx容器
- docker rm -f dockerId # 通过容器id强制删除容器
- docker rmi -f imageId # 通过镜像id 强制删除镜像
- docker restart dockerId #通过容器id重启容器,修改nginx.conf内容需重启docker
- docker logs dockerId #查看docker运行报错的日志
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)