docker部署前后端项目到 远程服务器
时间: 2025-05-30 17:23:11 浏览: 23
### 使用 Docker 部署前端和后端应用程序至远程服务器
#### 准备工作
为了成功部署前后端应用,需先准备好本地环境中的Docker镜像以及必要的配置文件。对于Java后端部分,创建并测试好可执行的JAR包;对于Vue前端,则应准备编译后的静态资源。
#### 构建与推送镜像
针对后端服务,在项目的根目录下编写`Dockerfile`用于定义构建流程:
```dockerfile
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
```
利用上述脚本制作成Docker镜像,并通过命令将其推送到私有仓库或公共注册中心以便稍后拉取使用[^2]。
对于前端工程而言,同样需要建立对应的`Dockerfile`来指定Nginx作为Web服务器承载这些静态页面:
```dockerfile
FROM nginx:alpine
COPY ./dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
```
完成两者的打包过程之后,记得给它们打上标签(tag),再借助`docker push`指令上传到远端存储库中去。
#### 远程操作指南
当一切就绪后,可以通过SSH连接到目标机器,下载所需的镜像版本。这里推荐采用SCP协议传输文件,比如更新版的应用程序二进制文件:
```bash
scp local/path/app.jar root@remote_ip:/usr/app/
```
接着按照既定顺序依次执行停止旧实例、替换内部组件、重启新实例的操作序列。具体来说就是停掉正在运行的服务容器,把新的`.jar`复制进去覆盖原来的那个,最后再次激活它以反映更改效果[^1]。
另外一种方式则是直接从官方源获取最新发布的映像制品,这通常意味着更少的手动干预步骤,同时也降低了人为失误的风险概率。
#### Nginx反向代理设置
为了让外部能够访问托管于不同路径下的多个子系统(即API网关+UI界面), 可考虑引入一层中间件——Nginx来做路由分发的工作。编辑其默认站点配置(`default.conf`)如下所示:
```nginx
server {
listen 80;
server_name localhost;
location /api/ {
proxy_pass http://backend_service/;
}
location / {
root html;
index index.html index.htm;
}
}
```
以上设定会将所有带有前缀`/api/*`请求转发给后台处理单元,而其他未匹配上的URL则一律交由前端框架接管显示出来[^3]。
阅读全文
相关推荐
















