Docker

简介: 本文介绍Docker基础操作,涵盖镜像打包、容器运行及Dockerfile编写。通过实例演示如何构建Java项目镜像、运行容器并验证服务,适合初学者快速掌握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.验证心跳


相关文章
|
22小时前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力用户全面掌握SQL使用情况,提升日志分析效率与治理能力。
如何做好SQL质量监控
|
1天前
|
Java 数据库连接 调度
xxljob执行源码分析
本文深入解析XXL-JOB源码,涵盖架构设计、核心执行流程与关键线程机制。包括任务调度、快慢线程池分离、注册与心跳检测、失败重试告警、日志清理及时间轮原理,结合图文详解各组件实现逻辑,助你全面掌握分布式任务调度底层机制。
 xxljob执行源码分析
|
1天前
|
存储 算法 BI
xxljob本地运行
本文介绍XXL-JOB分布式任务调度框架的部署与使用,涵盖源码获取、服务端数据库初始化、配置启动、客户端注册及定时任务测试全过程,助您快速搭建并运行调度系统。
6.Watcher机制(三)之ZooKeeper
本文深入分析ZooKeeper类的源码,重点解析其内部类结构、核心属性与构造函数,并详细探讨create、delete、multi、exists等核心方法的同步与异步实现机制,揭示其基于Watcher机制的事件注册与客户端通信原理。
 6.Watcher机制(三)之ZooKeeper
4.Watcher机制(一)
本文深入分析Zookeeper的Watcher机制,涵盖核心类与源码实现。重点解析Watcher、Event、KeeperState、EventType等接口与枚举,梳理ZKWatchManager对事件的管理及通知流程,帮助理解Zookeeper的监听机制工作原理。
|
1天前
|
存储 算法 API
2.持久化FileTxnLog
本文深入分析Zookeeper持久化核心源码,重点解析TxnLog与FileTxnLog实现机制,涵盖事务日志追加、校验、读取、提交及截断等关键流程,揭示其数据存储与一致性保障原理。
 2.持久化FileTxnLog
|
1天前
|
存储
1.序列化
该文章内容丰富且详细
 1.序列化
|
1天前
|
存储 关系型数据库 调度
|
1天前
|
缓存 NoSQL 关系型数据库
微服务原理篇(Canal-Redis)
该文章内容详细且实用
 微服务原理篇(Canal-Redis)
|
1天前
|
负载均衡 Java Nacos
微服务网关与配置中心
本文介绍了基于Spring Cloud Gateway实现微服务网关的完整流程,涵盖路由转发、负载均衡、全局过滤器与身份校验、用户信息传递及配置中心Nacos的集成。通过自定义GlobalFilter实现JWT鉴权,并利用ThreadLocal在微服务间透传用户信息;针对Feign调用场景,设计无状态内部接口以提升通用性;最后通过Nacos统一管理各服务配置文件,支持热更新,实现配置集中化与动态化管理。
 微服务网关与配置中心