容器化基础

这篇博客介绍了容器化基础,包括使用Docker部署Java应用,应用打包和启动容器的步骤。讲解了Docker如何解决应用构建和运行的问题,强调了镜像在容器化中的重要性,并提供了实战操作指导。

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

Python微信订餐小程序课程视频

https://edu.youkuaiyun.com/course/detail/36074

Python实战量化交易理财系统

https://edu.youkuaiyun.com/course/detail/35475

  1. 使用 linux 通过 java -jar 方式部署单体架构,war 包丢tomcat。
  2. 使用 Docker部署微服务架构。

相关文档:

目录* 简介

简介

云原生:Java,C等开发的应用叫原生应用,部署上云。原生应用上云的整个过程,以及云上的一系列解决方案。

部署云计算资源有三种不同的方法:公共云、私有云和混合云。采用的部署方法取决于业务需求。

扩展:VPC

容器化基础

解决的问题

  • 应用构建
    • Java、C++、JavaScript
      - 打成软件包
    • .exe
      - docker build … 镜像
  • 应用分享
    • 所有软件的镜像放到一个指定地方 docker hub
      - 安卓,应用市场
  • 应用运行
    • 统一标准的 镜像
      - docker run

资源隔离

  • cpu、memory资源隔离与限制
  • 访问设备隔离与限制
  • 网络隔离与限制
  • 用户、用户组隔离限制

架构

  • Docker_Host:
    • 安装Docker的主机
  • Docker Daemon:
    • 运行在Docker主机上的Docker后台进程
  • Client:
    • 操作Docker主机的客户端(命令行、UI等)
  • Registry:
    • 镜像仓库
      - Docker Hub
  • Images:
    • 镜像,带环境打包好的程序,可以直接启动运行
  • Containers:
    • 容器,由镜像启动起来正在运行中的程序

交互逻辑

装好Docker,然后去 软件市场 寻找镜像,下载并运行,查看容器状态日志等排错。

实战图

Docker hub,找到镜像。

创建&构建一个Java应用

代码地址:https://gitee.com/zwtgit/dockerdemo

准备工作

附带:Docker安装Redis,部署视频,https://www.bilibili.com/video/BV13Q4y1C7hS?p=20

Docker hub,找到镜像,里面有详细的文档。

启动,https://hub.docker.com/_/redis

docker run --help

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

#redis使用自定义配置文件启动
docker run -v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
-d --name myredis \
-p 6379:6379 \
redis:latest  redis-server /etc/redis/redis.conf

应用打包

编写Dockerfile将自己的应用打包镜像。

以前

Java为例

  • SpringBoot打包成可执行jar
  • 把jar包上传给服务
  • 服务器运行java -jar

在插件中打包后可以看到jar或者war相应的包以及位置,可以在本地使用java -jar命令测试。

现在

所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行。

我这里打的war包。

FROM openjdk:8-jdk-slim
LABEL maintainer=leifengyang

COPY target/*.war /app.war

ENTRYPOINT ["java","-jar","/app.war"]

docker构建,最后一个点表示工作在当前目录。

docker build -t java-demo:v1.0 .

启动容器

docker run -d -p 8080:8080 --name mydockerfiletest-app java-demo:v1.0 

# 登录docker hub
docker login

#给旧镜像起名
docker tag java-demo:v1.0  leifengyang/java-demo:v1.0

# 推送到docker hub
docker push leifengyang/java-demo:v1.0

# 别的机器
docker pull leifengyang/java-demo:v1.0

# 别的机器运行
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0 

  • 关于博主: I am a good person
  • 版权声明: ©ML李嘉图
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角**【[推荐](javascript:void(0)😉】**一下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值