1.安装nginx docker镜像
- 获取nginx官方镜像
docker pull nginx
- 查看镜像
docker images
- 运行容器
docker run --name nginx -d -p 80:80 nginx
run 创建启动容器实例
-- name 容器命名
-v 映射目录
-d 设置容器后台运行
-p 本机端口映射 将容器的80端口映射到本机的80端口
语句最后一个nginx是使用镜像的名称
- 访问本地ip测试
2、将nginx关键目录映射到本机
- 首先在本机创建nginx的一些文件存储目录
mkdir -p /root/nginx/html /root/nginx/logs /root/nginx/conf
html: 前端vue项目打包存放目录
logs: nginx日志目录
conf: nginx配置文件目录
- 查看nginx-test容器id
docker ps -a
- 将nginx-test容器配置文件copy到本地
docker cp 471b561yb72d:/etc/nginx/nginx.conf /root/nginx/conf
- 停止并删除该容器,重新创建新nginx容器nginx-web,并将html,logs,conf目录映射到本地
docker run -d -p 80:80 --name nginx-web -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx nginx
- 访问宿主机ip验证
会报错,因为映射到本地的html文件中没有index.html。
在本机/root/nginx/html目录下创建index.html内容为
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>docker搭建nginx</title>
</head>
<body>
<h1>docker搭建nginx映射成功</h1>
<p>666666666</p>
</body>
</html>
完成后重新访问本机
映射成功
3、配置启动vue项目
- 进入到/root/conf/html目录下将打包好的vue的dist包内容放入。
- 进入到/root/conf/nginx下重新配置nginx.conf
可通过proxy_pass执行代理功能。
- 重新启动容器。访问成功