docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker项目部署

Docker项目部署教程

作者:释怀不想释怀

文章介绍了如何部署后端服务和前端项目,后端使用SpringBoot,通过Maven打包并创建Docker镜像,前端使用Nginx容器化部署,通过反向代理访问后端服务

部署服务端(后端)

1). 修改项目的配置文件,修改数据库服务地址(打包package)

然后,执行maven中的package生命周期,进行打包(跳过测试),并将打包后的jar包命名为 tlias.jar 。

2). 编写Dockerfile文件(AI辅助)

文件名 Dockerfile:

# 使用 CentOS 7 作为基础镜像

FROM centos:7

# 添加 JDK 到镜像中

COPY jdk17.tar.gz /usr/local/

RUN tar -xzf /usr/local/jdk17.tar.gz -C /usr/local/ && rm /usr/local/jdk17.tar.gz

# 设置环境变量

ENV JAVA_HOME=/usr/local/jdk-17.0.10

ENV PATH=$JAVA_HOME/bin:$PATH

# 阿里云OSS环境变量

ENV OSS_ACCESS_KEY_ID=LTAI5tP6dc4cvccdvvySE39X ENV OSS_ACCESS_KEY_SECRET=ZSyIT31qhxIkS0dH1H9WzHqPiyM3Ot 

#统一编码 
ENV LANG=en_US.UTF-8 
ENV LANGUAGE=en_US:en 
ENV LC_ALL=en_US.UTF-8 
# 创建应用目录 

RUN mkdir -p /tlias WORKDIR /tlias 
# 复制应用 JAR 文件到容器 
COPY tlias.jar tlias.jar 
# 暴露端口 

EXPOSE 8080 
# 运行命令 
ENTRYPOINT ["java","-jar","/tlias/tlias.jar"]

由于项目要运行,需要依赖jdk的环境,所以这里我们需要将tlias.jar,jdk17.tar.gz,Dockerfile三个文件,上传到Linux服务器的 /root/tlias 目录下(如果没有这个目录,提前创建好)。

3). 构建Docker镜像,部署Docker容器,运行测试。

docker build -t tlias:1.0 .

docker run -d --name tlias-server --network itheima -p 8080:8080 tlias:1.0

通过 docker logs -f 容器名,就可以查看容器的运行日志。

这样后端服务,就已经启动起来了。

部署前端

在宿主机上准备静态文件及配置文件存放目录(在 /usr/local 目录下创建 tlias-web 目录)。    

-v /usr/local/tlias-web/html:/usr/share/nginx/html
-v /usr/local/tlias-web/conf/nginx.conf:/etc/nginx/nginx.conf

1). 部署nginx容器(设置目录映射)。

docker run -d \ 
--name nginx-tlias \
-v /usr/local/tlias-web/html:/usr/share/nginx/html \ 
-v /usr/local/tlias-web/conf/nginx.conf:/etc/nginx/nginx.conf \ 
--network itheima \ 
-p 80:80 \ 
nginx:1.20.2

前后端都部署完毕后,就可以打开浏览器,来测试一下。访问前端的nginx服务器 。

总结:

docker run -d \
 --name mysql \
 -p 3307:3306 \
 -e MYSQL_ROOT_PASSWORD=123 \
 -e TZ=Asia/Shanghai \
 -v /root/mysql/data:/var/lib/mysql \
 -v /root/mysql/init:/docker-entrypoint-initdb.d \
 -v /root/mysql/conf:/etc/mysql/conf.d \
 mysql:8

 

后端项目

如何部署一个后端项目

一般会按 “数据库 → 应用 → 容器化 → 部署验证” 这个思路来做:

1、先准备基础环境(数据库)

2、处理后端应用本身(以 Java / Spring Boot 为例)

3、对后端应用进行容器化

4、部署并运行容器

5、运行与验证

一句总结:

整个过程的核心是:先保证数据库可用,再让应用配置适配容器环境,最后通过 Docker 实现标准化部署和运行。

前端

前端项目你是怎么部署的?

一般是通过 Nginx + Docker 容器化 的方式来部署前端静态资源,整体思路是:

1、创建并部署 Nginx 容器

通过目录映射的方式:

这样做的好处是:

2、配置 Nginx 反向代理(重点)

例如:

好处是:

面试时可以一句话点亮:

3、上传并部署前端资源

4、启动并验证

验证:

总结

前端通过 Nginx 容器提供静态资源服务,并利用 Docker 网络和容器名 实现对后端容器的反向代理,整体部署方式清晰、稳定、易维护。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文