docker部署项目
- DOCKER
- 10分钟前
- 2 热度
- 0 评论
1、根目录新建 Dockerfile
2、根目录新建 .dockerignore
3. 在宝塔面板中上传项目
-
上传项目文件
使用宝塔面板的「文件管理」功能,将本地的 Next.js 项目文件上传到服务器上。建议将项目放在/www/wwwroot/your-nextjs-app/
目录下。 -
设置文件权限
确保项目文件夹及其中的文件具有正确的权限。你可以在「文件管理」中右键点击文件夹,然后设置文件权限。
4. 构建 Docker 镜像
-
进入 SSH 终端
在宝塔面板的左侧菜单中,点击「SSH」终端,进入服务器的命令行界面。 -
构建 Docker 镜像
在项目文件夹内执行以下命令来构建 Docker 镜像:这会使用
Dockerfile
构建一个名为nextjs-app
的镜像。
5. 运行 Docker 容器
-
启动容器
使用以下命令启动容器并将容器的 3000 端口映射到服务器的 3000 端口:该命令会在后台运行容器,并且映射容器内的 3000 端口到服务器的 3000 端口。
-
查看容器状态
使用以下命令查看容器是否启动成功:如果一切正常,你应该能看到
nextjs-app
容器正在运行。
6. 配置反向代理(Nginx)
如果你希望通过域名访问你的 Next.js 应用(例如 http://your-domain.com
),你需要配置 Nginx 作为反向代理。
-
进入宝塔面板的 Nginx 管理页面
在宝塔面板的左侧菜单中,点击「Nginx」进行配置。 -
添加反向代理配置
在 Nginx 配置页面,点击「添加站点」,然后配置如下:-
域名:填入你的域名(例如
your-domain.com
)。 -
根目录:可以设置为
/www/wwwroot/your-nextjs-app/
,但更重要的是配置反向代理部分。 -
反向代理:在「反向代理设置」中,填写如下内容:
这样,Nginx 会将对
your-domain.com
的请求代理到http://127.0.0.1:3000
上,即 Docker 容器中的 Next.js 应用。 -
-
重启 Nginx
配置完成后,点击「重载配置」来重启 Nginx 服务。
7. 完成部署
现在,你应该能够通过访问 http://your-domain.com
来访问你部署在 Docker 容器中的 Next.js 应用。
8.常用命令