当前位置: 首页 > news >正文

win10安装docker,打包python、java然后centos执行镜像

一、win10安装Docker Desktop

docker官网(需要魔法)下载:https://www.docker.com/products/docker-desktop/
安装方法参考:https://blog.csdn.net/beautifulmemory/article/details/137970794
下载完毕后界面安装,不勾选

查看 Windows 上安装 Docker Desktop官方安装指南:

https://docs.docker.com/desktop/install/windows-install/

1、提前新建I:\Docker\DockerInstaller目录,使用这行代码安装:

"I:\Docker\docker-win10\Docker Desktop Installer.exe"  install --installation-dir="I:\Docker\DockerInstaller"

2、安装时不勾选:
在这里插入图片描述
3、最后显示Installation succeeded代表安装成功。
在这里插入图片描述
4、更改镜像存放地址:
在这里插入图片描述
5、在cmd命令里面查看docker版本

docker -v
docker images

在这里插入图片描述

二、打包python项目

1、准备Dockerfile(在python项目的根目录下)

在这里插入图片描述
Dockerfile内容:

# 使用官方Python镜像作为基础镜像
FROM python:3.12-slim# 设置工作目录
WORKDIR /app# 将当前目录的文件复制到工作目录
COPY . /app# 安装依赖项(设置国内pip)
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install --no-cache-dir -r requirements.txt# 暴露端口
EXPOSE 5000# 启动应用程序(因为后面为了方便重新部署,直接到容器里面启动)
# CMD ["python", "main.py"]

2、进入到项目的根目录,开始打包镜像文件:

# my-python-app是镜像名称
docker build -t my-python-app .

打包完成后:
在这里插入图片描述
3、导出镜像到本地磁盘:

# 保存到自己磁盘中,my-python-app:latest为镜像名称和版本;lineCode.tar 为镜像tar
# 导出镜像(需要使用名字,不然导入的时候没有名字和版本,若需要直接修改:docker tag <image-id> <new-repository>:<new-tag>)
docker save my-python-app:latest -o I:\dockerFile\pythonProjects\lineCode.tar

4、导入到centos8的docker容器里面:
在这里插入图片描述

docker load -i lineCode.tar

5、导入完成后:
在这里插入图片描述
6、运行:

# -v 映射目录,-p 映射端口 --name 名称 --restart=always 自启 
docker run -v /usr/local/src/docker-python/:/app -p 5000:5000 -itd --name lineCode --restart=always my-python-app:latest

运行后查看:
在这里插入图片描述

7、进入到容器,直接输入命令执行python:

# 进入到容器内部(容器名或者容器id):
docker exec -it lineCode /bin/bash

可以看到我门映射的目录,我门将python的源代码放入到line-code-20240816文件夹中
在这里插入图片描述

执行python项目:
在这里插入图片描述

# 运行python项目(可能是python或python3看自己的python版本):
直接运行: python main.py
后台运行:nohup python main.py > output.log 2>&1 &

直接运行效果:
在这里插入图片描述
后台运行效果:

在这里插入图片描述
页面方案效果:

在这里插入图片描述
总结:

1、在win10上直接打包好镜像,然后直接放到服务器上运行,很方便
2、运行镜像时映射了服务器上的目录,若我们改了代码,就不需要重新打镜像了(python的镜像很大,打包速度慢!),方便我们快速部署

三、打包java项目

1、项目的根目录准备Dockerfile

在这里插入图片描述

Dockerfile内容:

FROM swr.cn-east-2.myhuaweicloud.com/xinchao-test/java:8# 设置工作目录
WORKDIR /app# 将当前目录的文件复制到工作目录
COPY . /app# 安装依赖项# 暴露端口
EXPOSE 8082# 启动应用程序
# CMD ["java -jar", "trans-line.jar"]

3、打包镜像

docker build -t trans-line-java .

4、运行

# 映射目录
docker run -v /usr/local/src/docker-java/:/app -p 8082:8082 -itd --name transLine --restart=always trans-line-java:latest

5、进入容器内部

docker exec -it transLine /bin/bash

6、将jar放入,然后运行:

nohup java -jar trans-line.jar &

7、访问:

访问地址:http://192.168.145.131:8082/  admin !Aa123456.

相关文章:

win10安装docker,打包python、java然后centos执行镜像

一、win10安装Docker Desktop docker官网&#xff08;需要魔法&#xff09;下载&#xff1a;https://www.docker.com/products/docker-desktop/ 安装方法参考&#xff1a;https://blog.csdn.net/beautifulmemory/article/details/137970794 下载完毕后界面安装&#xff0c;不勾…...

【数据结构入门】二叉树之堆的实现

文章目录 前言一、树1.1 树的概念1.2 树的相关概念 二、二叉树2.1 二叉树的概念2.2 特殊的二叉树2.3 二叉树的性质 三、堆3.1 堆的概念3.2 堆的性质3.3 堆的存储3.4 堆的实现3.4.1 堆的初始化3.4.2 堆的销毁3.4.1 堆向上调整算法3.4.2 堆向下调整算法3.4.3 堆的创建3.4.4 堆的插…...

智能微气候:精准调控背后的算法革命

&#xff08; 于景鑫 国家农业信息化工程技术研究中心&#xff09;当人工智能遇见现代农业,会擦出怎样的火花?随着数字农业、智慧农业的蓬勃发展,人工智能技术正以前所未有的速度渗透到农业生产的方方面面。其中,以深度学习为代表的前沿算法,尤其是大语言模型(LLM),正在成为驱…...

eNSP 华为交换机链路聚合

华为交换机链路聚合 链路聚合好处&#xff1a; 1、提高带宽 2、链路冗余 SW_2&#xff1a; <Huawei>sys [Huawei]sys SW_2 [SW_2]vlan batch 10 20 [SW_2]int g0/0/4 [SW_2-GigabitEthernet0/0/4]port link-type access [SW_2-GigabitEthernet0/0/4]port default vl…...

编译器揭秘

从上世纪50年代开始&#xff0c;编程语言五花八门&#xff0c;编译器和解释器层出不穷。此处只列出常见编程语言的编译器和解释器信息&#xff0c;不常见的编程语言有单独文章介绍。 C/C cc 此处代表Unix C编译器&#xff0c;其他平台可能借用cc软链接到真正的C编译器。MSVC 微…...

ubuntu下qt连接mysql出现 QMYSQL driver not loaded

1、首先检查是否重新安装了MySQL的驱动&#xff0c;可以使用命令&#xff1a; sudo apt-get remove libqt5sql5-mysql sudo apt-get install libqt5sql5-mysql 2、重新安装ibmysqlclient-dev即可解决 sudo apt-get remove libmysqlclient-dev sudo apt-get install libmysq…...

html 首行缩进2字符

1. html 首行缩进2字符 1.1. 场景 在Html开发中让一段文字&#xff08;富文本等&#xff09;首行缩进两个文字&#xff0c;可能在前面加上8个“ ”&#xff0c;因为过去对CSS不熟悉&#xff0c;这种方法实现虽然比较直接&#xff0c;但是文字多的时候会有很多“ ”充斥在代码中…...

什么是IP?

目录 简介 IP IP协议 IP地址 发展历程 IP地址类型 公有地址 私有地址 IP地址编址方式 A类IP地址 B类IP地址 C类IP地址 D类IP地址 特殊的网址 子网 超网 无类间路由 IP地址的分配 IP地址管理 手工管理模式 DHCP分配IP地址的管理模式 通过交换机管理IP 地址…...

js拖拽交换元素位置

摘要:最近在做会议系统,9宫格小画面要支持拖拽调整顺序,需求已经实现了,简单记录下当时的逻辑处理。 /* 关于拖拽逻辑处理 start */ // 当前在拖动的下标 const curDragIndex useRef<number>(-1); /* 拖拽元素事件* onDragStart_开始* onDragend_结束 */ const handleD…...

在 C++ 中实现自定义容器的实用指南

在 C 中实现自定义容器的实用指南 在 C 编程中&#xff0c;容器是存储和管理数据的基本工具。标准库提供了多种容器&#xff0c;如 std::vector、std::list 和 std::map&#xff0c;但在某些情况下&#xff0c;开发者可能需要实现自定义容器以满足特定需求。本文将详细介绍如何…...

《深入浅出WPF》读书笔记.4名称空间详解

《深入浅出WPF》读书笔记.4名称空间详解 背景 主要讲明名称空间概念&#xff0c;可以理解为命名空间的引用。 xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml" &#x1f446;如x可以理解为一些列命名空间的引用。 不一一列举&#xff0c;只讲几个特殊的…...

电驱动总成

电驱动总成&#xff08;Electric Drive Assembly&#xff09;是电动汽车和混合动力汽车中关键的组成部分&#xff0c;主要负责将电能转化为机械能&#xff0c;以驱动汽车的轮胎。电驱动总成包括多个关键组件&#xff0c;通常可以分为以下几个主要部分&#xff1a; ### 主要组成…...

JavaScript class和正则

正则表达式练习 出生日期 年 月 日 ()表示一个整体 console.log(1909.match(^19\\d{2}$)); console.log(2024.match(^20(([01][0-9])|(2[0-4]))$)); //年 console.log(1909.match(^(19\\d{2})|(20(([01][0-9])|(2[0-4])))$)); // 月 console.log(12.match(^(0[1-9])|(1[0-2])…...

[Linux#42][线程] 锁的接口 | 原理 | 封装与运用 | 线程安全

互斥量 mutex • 大部分情况&#xff0c;线程使用的数据都是局部变量&#xff0c;变量的地址空间在线程栈空间 内&#xff0c;这种情况&#xff0c;变量归属单个线程&#xff0c;其他线程无法获得这种变量。 • 但有时候&#xff0c;很多变量都需要在线程间共享&#xff0c;这…...

奇异递归Template有啥奇的?

如果一个模版看起来很头痛&#xff0c;那么大概率这种模版是用来炫技&#xff0c;没啥用的&#xff0c;但是CRTP这个模版&#xff0c;虽然看起来头大&#xff0c;但是却经常被端上桌~ 奇异递归模板模式&#xff08;Curiously Recurring Template Pattern, CRTP&#xff09;是一…...

每天五分钟深度学习框架pytorch:神经网络工具箱nn的介绍

本文重点 我们前面一章学习了自动求导,这很有用,但是在实际使用中我们基本不会使用,因为这个技术过于底层,我们接下来将学习pytorch中的nn模块,它是构建于autograd之上的神经网络模块,也就是说我们使用pytorch封装好的神经网络层,它自动会具有求导的功能,也就是说这部…...

【办公软件】安全风险 Microsoft 已阻止宏运行,因为此文件的来源不受信任

Excel 2019版本&#xff0c;就出现安全风险 Microsoft 已阻止宏运行 因为此文件的来源不受信任的问题&#xff0c;宏直接就用不了了。 网上的解决方法&#xff0c;文件右键属性->取消安全锁。但存在没有安全锁这个选项。后查询到一个简单的解决方法。 打开Excel表格->文件…...

JavaScript语法基础之流程结构(顺序、选择、循环结构)

目录 1. 流程控制 1.1. 流程控制简介 1.1.1. 顺序结构 1.1.2. 选择结构 1.1.3. 循环结构 1.2. 选择结构&#xff1a;if 1.2.1. 单向选择&#xff1a;if… 1.2.2. 双向选择&#xff1a;if…else… 1.2.3. 多向选择&#xff1a;if…else_if…else… 1.3. 选择结构&#…...

集团数字化转型方案(四)

集团数字化转型方案通过全面部署人工智能&#xff08;AI&#xff09;、大数据分析、云计算和物联网&#xff08;IoT&#xff09;技术&#xff0c;创建了一个智能化的企业运营平台&#xff0c;涵盖从业务流程自动化、实时数据监控、精准决策支持&#xff0c;到个性化客户服务和高…...

【MySQL索引】索引失效场景

索引失效 1 全值匹配肯定不失效 2 最佳左前缀法则 索引文件具有 B-Tree 的最左前缀匹配特性&#xff0c;如果左边的值未确定&#xff0c;那么无法使用此索引。 3 主键插入顺序 页分裂&#xff0c;建议 让主键具有 AUTO_INCREMENT 4 计算、函数、类型转换(自动或手动)导致…...

目录中不显示标题中间的软换行符Shift+Enter

文档中的标题过长时&#xff0c;通常使用ShiftEnter软换行符来给标题在合适的位置换行&#xff0c;以实现美观的排版效果。然而&#xff0c;插入软换行符会造成自动产生的目录中标题文本中间出现空格&#xff0c;如图所示&#xff1a;那么&#xff0c;如何让目录中不显示这个软…...

Phi-4-mini-reasoning推理模型5分钟快速上手:数学题逻辑题一键解答

Phi-4-mini-reasoning推理模型5分钟快速上手&#xff1a;数学题逻辑题一键解答 1. 为什么选择Phi-4-mini-reasoning&#xff1f; 如果你经常需要解决数学题、逻辑题或者需要一步步分析的问题&#xff0c;Phi-4-mini-reasoning就是为你量身定制的AI助手。这个模型不像那些通用…...

axios 供应链投毒事件完整报告:史上最大 npm 攻击技术分析

axios 供应链投毒事件完整报告:史上最大 npm 攻击技术分析 2026年3月31日 | 安全分析报告 一、事件概述 2026年3月31日,npm 生态遭遇了有记录以来针对顶级包最复杂的供应链攻击。攻击者劫持了 axios(全球每周下载量超 8300 万次)核心维护者的 npm 账号,发布了两个恶意版…...

Gitee:数字化转型浪潮中企业项目管理的战略级解决方案

在数字经济成为全球经济增长新引擎的背景下&#xff0c;企业数字化转型已从"选择题"变为"必答题"。项目管理工具作为数字化转型的基础设施&#xff0c;其重要性日益凸显。根据IDC最新预测&#xff0c;到2025年&#xff0c;中国数字经济规模将突破80万亿元&…...

OpenMP实战避坑:你的C++并行程序为什么跑得比单线程还慢?

OpenMP实战避坑&#xff1a;你的C并行程序为什么跑得比单线程还慢&#xff1f; 第一次在C代码里加上#pragma omp parallel for时&#xff0c;那种期待性能飙升的心情&#xff0c;相信每个开发者都经历过。但现实往往很骨感——程序运行速度不升反降&#xff0c;甚至出现莫名其妙…...

MAVLink垂直扩展:Emaxx导航板专用协议库设计与实践

1. 项目概述 mavlink_emaxx 是一个面向 Emaxx 导航板&#xff08;Emaxx Nav Board&#xff09;定制的 MAVLink 协议消息扩展库。该库并非独立协议栈&#xff0c;而是基于标准 MAVLink v2 协议规范构建的一组专用消息定义&#xff08;message definitions&#xff09;与配套 C…...

大模型风口已至!普通人如何逆袭拿高薪?学员真实案例告诉你答案!

在人工智能飞速发展的今天&#xff0c;大模型已成为科技行业的核心赛道&#xff0c;无数人渴望抓住这波风口实现职业跃迁。而我们的大模型学员&#xff0c;用一份份亮眼的 offer&#xff0c;交出了完美答卷&#xff01; &#x1f31f; 平凡起点&#xff0c;非凡逆袭 他们中有**…...

利用快马ai快速构建基于jdk 17的spring boot web应用原型

最近在尝试快速搭建一个基于JDK 17的Spring Boot Web应用原型&#xff0c;发现用传统方式从零开始配置环境、搭建框架特别耗时。特别是JDK版本兼容性问题和依赖配置&#xff0c;经常要折腾半天。后来尝试了InsCode(快马)平台&#xff0c;整个过程变得异常简单&#xff0c;分享下…...

intv_ai_mk11实际作品:面向管理层的OKR撰写建议与周报优化样例

intv_ai_mk11实际作品&#xff1a;面向管理层的OKR撰写建议与周报优化样例 1. 为什么管理者需要AI辅助撰写OKR和周报 在快节奏的商业环境中&#xff0c;管理者常常面临一个共同挑战&#xff1a;如何高效地制定清晰可衡量的目标&#xff08;OKR&#xff09;&#xff0c;同时保…...

OpCore-Simplify:智能配置引擎如何破解开源系统硬件兼容性难题

OpCore-Simplify&#xff1a;智能配置引擎如何破解开源系统硬件兼容性难题 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 一、问题挑战&#xff1a;开…...