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.
相关推荐
久笙&4 分钟前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python·架构
不甘懦弱31 分钟前
阿里云搭建flask服务器
服务器·python·flask
赵英英俊44 分钟前
Python day51
人工智能·pytorch·python
律品1 小时前
pytest的前置与后置
开发语言·python·pytest
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】遥感森林砍伐检测系统源码和数据集:改进yolo11-SWC
python·yolo·计算机视觉·数据集·yolo11·遥感森林砍伐检测
阿汤哥的程序之路1 小时前
Python如何将两个列表转化为一个字典
python
RabbitYao2 小时前
Android 项目 通过 AndroidStringsTool 更新多语言词条
android·python
RabbitYao2 小时前
使用 Gemini 及 Python 更新 Android 多语言 Excel 文件
android·python
天天进步20152 小时前
Python机器学习入门:用scikit-learn构建你的第一个预测模型
python·机器学习·scikit-learn
程序员岳焱2 小时前
使用 JPype 实现 Java 与 Python 的深度交互
java·后端·python