Docker容器部署项目

本文介绍了Docker容器的部署流程,包括利用Dockerfile构建镜像,Maven打包,以及部署到本地和云服务商容器平台的过程。还讨论了镜像优化和容器平台部署的优点,如简化操作、集成监控和自动化功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker容器部署项目

  • 优点:可以把整个项目依赖的环境(如java,nginx)代码全部封装到镜像中。之后运行项目只需要通过此镜像就可以,而不需要单独下载各种依赖环境。(镜像更容易分发和移植,在启动项目中不需要,使用大量命令。)
  • 理解:可以把容器理解为一个存放环境的箱子。Docker理解为安装包。

docker的安装

  1. 进入官网docker官网安装
  2. 直接使用宝塔,搜索docker安装
    使用以下命令查看docker是否安装成功
    docker -v
    

Dockerfile

  • 作用:用于指定构建Docker镜像的方法
  • 一般可以参考同类项目的配置文件(如spring项目或vue)
  • Dockerfile编写
    • FROM依赖的基础镜像
    • WORKDIR工作目录
    • COPY从本机复制文件
    • RUN执行命令
    • CMD/ENTRYPOINT指定运行容器时默认执行的命令

部署上线

  1. 在项目根目录下创建Dockerfile文件,进行配置
    # Docker 镜像构建
    FROM maven:3.5-jdk-8-alpine as builder
    
    # Copy local code to the container image.
    WORKDIR /app
    COPY pom.xml .
    COPY src ./src
    
    # Build a release artifact.
    RUN mvn package -DskipTests
    
    # Run the web service on container startup.
    CMD ["java","-jar","/app/target/user-center-backend-0.0.1-SNAPSHOT.jar","--spring.profiles.active=prod"]
    
  2. 将项目上传到服务器(前后端项目)
  3. 使用命令根据Dockerfile构建镜像
    //后端
    //-t打标签标识版本信息
    docker build -t user-center-backend:v0.0.1 .
    //前端
    docker build -t user-center-frontend:v0.0.1 .
    //查看已经打包的镜像
    sudo docker images
    
    部署好之后的镜像
    在这里插入图片描述
  4. Docker构建优化:减少尺寸,减少构建时间(比如多阶段构建,可以丢弃之前阶段不需要的内容)
  5. docker run启动镜像
    //前端
    docker run -p 80:80 -v /data/app:/user/share/nginx/html  -d user-center-frontend-master:v0.0.1
    //后端
    docker run -p 8080:8080 -d user-center-backend-master:v0.0.1
    
    -p表示要把容器中启动项目的端口映射到本地的哪个端口,
    -v指定目录,容器的目录和本地的映射/data目录映射
    -d启动容器的镜像名称
    • 端口映射:把本机的资源(实际访问的地址)和容器内部的资源(应用启动端口)进行关联
    • 目录映射:把本机的端口和容器应用的端口进行关联

docker常用命令

  1. Docker exec进入镜像终端调试
    docker exec -i -t 【镜像号】 /bin/bash
    
  2. 查看镜像信息
    docker ps
    
  3. 结束已经运行的镜像
    docker kill 【容器号】
    
  4. 查看后台日志
    docker  logs
    
  5. 强制删除镜像
    docker -f rmi 【镜像名】
    
  6. 杀死容器
    docker kill
    

Docker平台部署项目

  1. 云服务商的容器平台(腾讯云,阿里云)
  2. 面向某个领域的容器平台(后端微信云托管)
容器平台部署的优点
  1. 不用输入命令来操作,更便利
  2. 不用再控制台操作,傻瓜式,简单
  3. 大厂运维,省心
  4. 额外的能录,比如监控,告警,其他(存储,负载均衡,自动扩缩容,流水线)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D. D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值