怎么做qq钓鱼网站网站防护怎么做
2026/4/18 13:48:47 网站建设 项目流程
怎么做qq钓鱼网站,网站防护怎么做,怎么做微信小程序平台,做的网站怎样打开速度快Docker 是什么#xff1f;Docker 是一个工具#xff0c;能把你的程序和它需要的环境#xff08;比如 JDK、配置、依赖#xff09;打包成一个“集装箱”#xff08;叫容器#xff09;#xff0c;在任何装了 Docker 的电脑上都能直接运行#xff0c;不用再配环境。✅ 解决…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:3.8-management # 使用带 management 插件的 RabbitMQ 3.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 ↔ 虚拟机永远不冲突

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询