Docker笔记-搭建Python环境、安装依赖、打包镜像、导入镜像、编写bash脚本灵活调用

说明

适合无联网的机器及多Python的机器进行部署。

制作docker版Python环境

有网络及有docker的,拉取指定版本的python如:

docker pull python:3.7

安装好后进入容器:

docker run -it <name> /bin/bash

使用pip安装各种依赖:

pip install <name>
pip install <name>
pip install <name>

千万不要退出,另外启动一个shell,查下目前运行的容器:

docker ps -a

制作成新的镜像:

docker commit <id> mynewpythonimage

打包及导入

导出新镜像:

docker save -o python.tar <repositoryName>

找到没联网有docker的机器,导入新的镜像

docker load -i python.tar

编写Shell

在新机器上编写shell,python.sh

#!/bin/bashpara=""
for arg in "$@"
dopara="$para $arg"
donedocker run --net=host -v <宿主机路径>:/usr/src/myapp -w <宿主机路径>:/usr/src/myapp <python镜像名> python $para

参数解释如下:

-v:允许主机和容器共享文件和目录,并在容器内访问主机上的数据。

-w:定容器启动后的默认工作目录,类似于在命令行中使用 cd 命令更改当前目录。

--net=host:将容器与主机共享网络命名空间。这意味着容器将不会获得独立的网络命名空间,而是直接使用主机的网络接口。

下面这步看需求再做,目的是修改现在用户的环境变量。

vim ~/.bashrc

随后新增

alias python 'python.sh文件的目录'

最后:

source ~/.bashrc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/467533.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基于SpringBoot+vue的租房网站,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

胃癌 EMT、MSI 和 TP53 分型文献

Molecular analysis of gastric cancer identifies subtypes associated with distinct clinical outcomes - PubMed (nih.gov) 胃癌是导致癌症相关死亡的主要原因之一&#xff0c;是一种异质性疾病。我们旨在建立与临床相关的分子亚型&#xff0c;以涵盖这种异质性并提供有用…

《Java 简易速速上手小册》第10章:Java 未来趋势和新特性(2024 最新版)

文章目录 10.1 Java 的新版本特性10.1.1 基础知识10.1.2 重点案例&#xff1a;使用 Java 14 的 Record 类简化数据模型10.1.3 拓展案例 1&#xff1a;利用 Java 11 的 HTTP Client 进行网络请求10.1.4 拓展案例 2&#xff1a;使用 Java 12 的 Switch 表达式优化代码 10.2 Java …

Apache Zeppelin 整合 Spark 和 Hudi

一 环境信息 1.1 组件版本 组件版本Spark3.2.3Hudi0.14.0Zeppelin0.11.0-SNAPSHOT 1.2 环境准备 Zeppelin 整合 Spark 参考&#xff1a;Apache Zeppelin 一文打尽Hudi0.14.0编译参考&#xff1a;Hudi0.14.0 最新编译 二 整合 Spark 和 Hudi 2.1 配置 %spark.confSPARK_H…

那些 C语言指针 你不知道的小秘密 (完结篇)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人能…

441. Arranging Coins( 排列硬币)

问题描述 你总共有 n 枚硬币&#xff0c;并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯&#xff0c;其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。 给你一个数字 n &#xff0c;计算并返回可形成 完整阶梯行 的总行数。 问题分析 等差数列求和问…

任务调度

1.学习目标 1.1 定时任务概述 1.2 jdk实现任务调度 1.3 SpringTask实现任务调度 1.4 Spring-Task 分析 1.5 Cron表达式 https://cron.qqe2.com/ 2. Quartz 基本应用 2.1 Quartz 基本介绍 2.2 Quartz API介绍 2.3 入门案例 <dependency> <groupId>org.springframe…

MongoDB技术架构详解

MongoDB是一个非关系型数据库&#xff0c;以其高性能、可扩展性和灵活性而闻名。MongoDB的技术架构为其提供了强大的数据存储和处理能力&#xff0c;支持各种现代应用程序的需求。本文将深入探讨MongoDB的技术架构&#xff0c;帮助您更好地理解其内部工作原理。 一、MongoDB概述…

【JavaEE】_网络层

目录 1. 网络层的工作 2. IP数据报 3. 地址管理 3.1 IP地址不够的问题 3.1.1 方案一&#xff1a;动态分配 3.1.2 方案2&#xff1a;NAT机制&#xff08;网络地址转换&#xff09; 3.1.2.1 将IP地址划分为2类 3.1.2.2 NAT转换的实现 3.1.3 方案3&#xff1a;IPV6地址 …

如何写出别人写不出的内容(译)

&#xff08;译者序&#xff1a;这篇文章不只是写作&#xff0c;对信息获取、阅读也都有启发。随着社交媒体和 AI 的发展&#xff0c;人们越来越被动的接收海量信息&#xff0c;如何主动查找与整理对自己有用的内容&#xff0c;将是一个不可或缺的能力。&#xff09; 原文&…

VMware清理拖拽缓存 Ubuntu硬盘情况占用分析

这两天在尝试编译Linux源码&#xff0c;我在win上将源码下载下来然后复制到ubuntu上&#xff0c;这一步我粗略看到了三种方法&#xff1a;安装VM tools&#xff0c;就可以使文件正常的在win和ubuntu中复制剪切&#xff1b;使用scp命令将win和linux系统链接起来&#xff1b;使用…

一文彻底搞懂布隆过滤器

文章目录 1. 基本原理2. 布隆过滤器的优点3. 布隆过滤器的缺点4. 布隆过滤器的应用场景 布隆过滤器&#xff08;Bloom Filter&#xff09;是一种空间高效的概率数据结构&#xff0c;用于判断一个元素是否在一个集合中。它使用位数组和一系列哈希函数来实现。 1. 基本原理 首先…