Docker

简介: 本文介绍Docker基础操作,涵盖镜像打包、容器运行及Dockerfile编写。通过实例演示如何构建Java项目镜像并运行容器,包含jar包准备、Dockerfile编写、镜像生成、端口映射及服务验证全过程,适合初学者快速掌握Docker部署应用方法。

对于docker知识体系还不熟悉的可以参照:Docker教程,涉及知识点如下

  • 镜像知识:打包镜像、查看镜像
  • 容器知识:查看容器、启动容器、查看日志
  • dockerfile知识:编写dockerfile,自定义构建镜像

1.镜像打包

1.工程打jar包

步骤同:Linux打包部署,这里我直接提供打好的jar包以节约时间:📎linuxDemo.jar

2.编写dockerfile文件

dockerfile文件的编写原理:Docker教程 中的“3.DockerFile自定义镜像”,这里我们编写如下:

# 指定基础镜像
FROM ubuntu:16.04
# 配置环境变量,JDK的安装目录
ENV JAVA_DIR=/tmp/linux
# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/
COPY ./linuxDemo.jar /tmp/app.jar
# 安装JDK
RUN cd $JAVA_DIR \
 && tar -xf ./jdk8.tar.gz \
 && mv ./jdk1.8.0_144 ./java8
# 配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin
# 暴露端口
EXPOSE 8090
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

2.生成镜像

完整文件如下:📎jdk8.tar.gz📎linuxDemo.jar

这里我因为基础版本拉取失败,所以将JDK一起打包进去了,所以文件比较大

  • 注意:上述命令执行路径:在对应DockerFile所在路径

3.运行容器

  • 这里必须做端口映射,否则容器内端口我们是无法访问到,必须映射到宿主机

4.验证心跳


相关文章
|
9月前
|
运维 关系型数据库 Linux
Linux 高效学习指南:从入门到运维的科学路径
本文介绍Linux运维学习的科学路径,主张“场景驱动”替代死记硬背。涵盖四大阶段:一周掌握核心命令,两周理解系统原理与故障排查,两周实战部署LNMP服务,长期进阶自动化运维。强调动手实操、问题驱动与循序渐进,提供各阶段目标、任务与资源推荐,助你高效构建完整知识体系,成为实战型运维人才。
|
8月前
|
人工智能 决策智能
多智能体军事协同系统:智能化防务体系中的关键技术框架
多智能体军事协同系统是智能化防务的重要理论方向,通过分布式感知、决策一致与协同控制,构建高效、鲁棒的系统协同模型。本文从概念、技术基础到发展趋势进行系统解析,探讨其在提升整体作战效能、推动系统智能演进中的理论价值,为相关研究提供参考。(238字)
655 2
|
8月前
|
机器学习/深度学习 数据采集 人工智能
告别“从头训练”:微调,让你的AI模型快速“专业对口”
微调是AI落地的关键技术,通过在预训练模型上用少量数据进行针对性训练,快速获得高性能专用模型。它省时、省力、成本低,广泛应用于图像识别、自然语言处理等领域,让普通人也能高效打造专属AI模型。
|
9月前
|
前端开发 NoSQL Java
单体版本
JeecgBoot是一款基于Spring Boot与Vue3的低代码开发平台,支持快速构建企业级应用。技术栈涵盖Spring Cloud Alibaba、MybatisPlus、Redis、Vue3+TypeScript等,提供代码生成、在线表单、菜单权限管理等功能,助力高效开发。
 单体版本
|
9月前
|
前端开发 Java 关系型数据库
[Blog]三层架构:代码本地运行(☆)
简介:本任务旨在帮助新人快速上手开发环境,掌握SpringBoot、MySQL、Maven等技术栈。需完成项目本地导入与运行,自行解决JDK、Maven及IDE版本兼容问题,并修复因数据库未导入、名称不匹配导致的异常。通过实践熟悉工程启动流程与常见问题排查,为后续工作打下基础。(238字)
 [Blog]三层架构:代码本地运行(☆)
|
9月前
|
人工智能 easyexcel Java
Blog]SpringBootExcel导入(☆☆☆)
基于SpringBoot+MySQL实现博客系统Excel导入功能,需掌握Maven、POI/EasyExcel技术。预计AI辅助1小时,手动4小时。无详细原型,需自主分析需求,培养独立开发与问题解决能力。
|
9月前
|
持续交付 项目管理
阿里巴巴-云效
本文介绍了如何开通并使用云效平台进行项目管理与自动化部署。涵盖服务开通、需求管理、代码托管及流水线构建等步骤,帮助团队高效协作,实现代码自动发布流程的搭建与体验。
|
机器学习/深度学习 人工智能 UED
直击强化学习前沿,RL专场来袭丨AI Insight Talk直播预告
在知识爆炸、信息过载的时代,如何洞悉 AI 领域前沿趋势?OpenMMLab 联合 Hugging Face、ModelScope、知乎及机智流等重磅推出 AI Insight Talk
336 0
|
9月前
|
Java 测试技术 API
从Google线上故障,谈灰度发布的重要性
2025年6月12日,Google Cloud因新功能未灰度发布且存在空指针缺陷,导致全球服务中断超7小时。本文剖析故障根源,详解配置灰度发布的重要性及Nacos等工具的实践方案,强调通过IP、标签、规则等灰度策略保障系统稳定性,避免大规模故障。
|
IDE 开发工具 Python
魔搭notebook在web IDE下,使用jupyter notebook,python扩展包无法更新升级
魔搭notebook在web IDE下,使用jupyter notebook,python扩展包无法更新升级,不升级无法使用,安装python扩展包的时候一直停留在installing
401 4

热门文章

最新文章