FSMN VAD社区生态发展:Hugging Face集成可能性分析

核心内容摘要

OpenClaw
附录怎么写?论文附录内容与格式全解析

代码阅读效率革命:MultiHighlight如何重塑开发者工作流

Docker 是什么Docker 是一个工具能把你的程序和它需要的环境比如 JDK、配置、依赖打包成一个“集装箱”叫容器在任何装了 Docker 的电脑上都能直接运行不用再配环境。

✅ 解决问题“在我电脑能跑你电脑跑不了” →一次打包到处运行核心名词名词是什么一句话理解镜像Image程序的“安装包”只读模板不能运行但可以用来启动容器如mysql、nginx容器Container正在运行的程序镜像启动后的实例能运行、能停止、能删除Dockerfile打包说明书一个文本文件告诉 Docker 怎么把你的代码做成镜像卷Volume持久化存储容器删了数据也不丢比如数据库文件存这里网络Network容器之间的“对讲机”同一网络下的容器可以用名字互相访问如mysql、redis✅问题 1Dockerfile 是用来构建项目运行的 JDK 环境是吧答不完全是。

Dockerfile不是专门用来装 JDK 的而是基于已有的 JDK 镜像如eclipse-temurin:17-jre-alpine把你的 Spring Boot JAR 包打包进去形成一个完整的可运行应用镜像。

JDK 环境由FROM指令直接复用官方镜像你无需手动安装。

所以Dockerfile 官方 JDK 你的代码 启动命令✅问题 2COPY u2vd_cloud.jar app.jar为什么有两个 jarSpring Cloud 项目也这样部署吗答这行命令的意思是把虚拟机当前目录下的u2vd_cloud.jar复制到容器里并改名为app.jar。

左边是源文件名你上传的 JAR右边是容器内的目标文件名可自定义通常简化为app.jarSpring Cloud 项目完全一样部署每个微服务user-service、order-service 等各自打成一个 JAR每个服务单独写自己的 Dockerfile各自构建镜像、各自运行容器通过--network加入同一网络用服务名互相调用✅核心原则一个 JAR → 一个容器✅问题 3我的环境是本地开发 虚拟机跑 Docker用 MobaXterm 连接操作流程是什么答四步极简流程本地打包IDEA 执行 Mavenpackage得到xxx.jar上传 JAR用 MobaXterm 左侧 SFTP 面板把 JAR 拖到虚拟机目录如/root/app/写 Dockerfile在虚拟机同目录下创建 Dockerfile内容包含dockerfileFROM eclipse-temurin:17-jre-alpine WORKDIR /app COPY 你的真实文件名.jar app.jar EXPOSE 8080 ENTRYPOINT [java, -jar, app.jar]构建并运行FROM eclipse-temurin:17-jre-alpine WORKDIR /app COPY 你的真实文件名.jar app.jar EXPOSE 8080 ENTRYPOINT [java, -jar, app.jar]⚠️关键提醒Docker 只能访问虚拟机上的文件必须先上传 JAR 到虚拟机高频命令速查表场景命令说明镜像docker images列出本地镜像docker build -t myapp .用当前目录 Dockerfile 构建docker rmi 镜像名删除镜像容器docker ps运行中的容器docker ps -a所有容器含停止的docker run -d --name xx 镜像后台启动新容器docker start/stop/restart xx管理已有容器docker logs -f xx实时看日志调试神器docker exec -it xx bash进入容器调试网络docker network ls列出网络docker network create net创建自定义网络docker network inspect net查看哪些容器连入卷docker volume ls列出命名卷docker volume inspect xx查看卷存储位置清理docker system prune -a清理无用资源慎用# 启动 MySQL 容器 docker run -d \ # 后台运行detached 模式 --name mysql \ # 给容器起名为 mysql -p 3306:3306 \ # 将虚拟机的 3306 端口映射到容器的 3306 端口供外部连接 -e TZAsia/Shanghai \ # 设置容器时区为上海避免时间差8小时 -e MYSQL_ROOT_PASSWORD123 \ # 设置 MySQL root 用户密码必须设置 -v /root/mysql/data:/var/lib/mysql \ # 挂载数据卷持久化数据库文件删容器不丢数据 -v /root/mysql/conf:/etc/mysql/conf.d \ # 挂载配置目录可放入自定义 my.cnf 配置文件 -v /root/mysql/init:/docker-entrypoint-initdb.d \ # 挂载初始化脚本目录首次启动时自动执行 .sql 或 .sh 文件 --network net \ # 加入自定义网络 net便于与其他容器如 Java 应用通过容器名通信 mysql # 使用官方 mysql 镜像默认 latest # 启动 RabbitMQ 容器带管理界面 docker run \ -e RABBITMQ_DEFAULT_USERitheima \ # 设置默认用户名覆盖 guest -e RABBITMQ_DEFAULT_PASS123321 \ # 设置默认密码 -v mq-plugins:/plugins \ # 挂载命名卷持久化已安装的插件重启不丢失 --name mq \ # 容器名称设为 mq --hostname mq \ # 设置容器内主机名为 mqRabbitMQ 对 hostname 敏感建议显式指定 -p 15672:15672 \ # 映射 Web 管理界面端口浏览器访问 http://IP:15672 -p 5672:5672 \ # 映射 AMQP 协议端口Java 应用通过此端口连接 --network net \ # 加入同一自定义网络 net可被其他服务用 mq 名称访问 -d \ # 后台运行 rabbitmq:

8-management # 使用带 management 插件的 RabbitMQ

8 版本镜像本机Windows有 MySQL 占用 3306Docker 在虚拟机也用-p 3306:3306会冲突吗✅ 答案不会冲突原因Windows 的 3306和虚拟机的 3306是两台不同机器的端口互不影响。

你在 Windows 访问localhost:3306→ 连的是本机 MySQL虚拟机IP:3306→ 连的是Docker 里的 MySQL⚠️ 但注意如果虚拟机自己也装了 MySQL非 Docker再运行docker run -p 3306:3306就会端口冲突解决方法推荐停掉虚拟机本地的 MySQLbashsudo systemctl stop mysqld sudo systemctl disable mysqld或改 Docker 映射端口如-p 3307:3306但需连虚拟机IP:3307✅ 最佳实践虚拟机只跑 Docker 容器不装原生数据库/中间件本机服务和虚拟机 Docker 服务完全隔离放心共存 记住端口冲突只发生在同一台机器上跨机器Windows ↔ 虚拟机永远不冲突

董卓漫画jm版下载-董卓漫画jm版下载应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123