基于ubuntu制作一个基础镜像

文章目录

  • 1 制作镜像的步骤
  • 2 安装dockerfile屡次失败的pyodbc组件
  • 3 安装python
  • 4 将容器打包成镜像

1 制作镜像的步骤

拉取基础镜像

docker pull ubuntu:22.04

基于基础镜像,运行一个容器

docker run -d --rm -it --name  your_ubuntu_name ubuntu:22.04 bash

进入这个容器内部

docker exec -it your_ubuntu_name  bash

2 安装dockerfile屡次失败的pyodbc组件

url 连接

https://learn.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&tabs=ubuntu18-install%2Cubuntu17-install%2Cdebian8-install%2Credhat7-13-install%2Crhel7-offline#18
if ! [[ "18.04 20.04 22.04 23.04 24.04" == *"$(lsb_release -rs)"* ]];
thenecho "Ubuntu $(lsb_release -rs) is not currently supported.";exit;
fi# Add the signature to trust the Microsoft repo
# For Ubuntu versions < 24.04 
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
# For Ubuntu versions >= 24.04
curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg# Add repo to apt sources
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list# Install the driver
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev

3 安装python

执行命令

# 更新软件包列表
sudo apt update
# 安装依赖项
sudo apt install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev
# 下载 Python 3.11 源码
wget https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
# 或者
curl -O https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
# 解压
tar zxf Python-3.11.5.tgz
# 
cd Python-3.11.5
./configure --enable-optimizations
make -j $(nproc)
sudo make altinstall
# 验证
python3.11 --version
# 设置别名
echo 'alias python3=python3.11' >> ~/.bashrc
echo 'alias pip3=pip3.11' >> ~/.bashrc
source ~/.bashrc

4 将容器打包成镜像

将容器打包成镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]docker commit 135a0d19f757 jenkins:1.0 完成后,使用docker images可以看见该镜像

打包镜像

docker save [OPTIONS] IMAGE [IMAGE...],示例:docker save -o my_jenkins.tar jenkins:1.0示例:docker save -o my_jenkins.tar jenkins:1.0

新服务器载入镜像

docker load [OPTIONS]-option选项:–input,-i 指定导入的文件
–quiet,-q 精简输出信息
如:docker load --input my_jenkins.tar

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Sentinel最全笔记,详细使用步骤教程清单

一、Sentinel的基本功能 1、流量控制 流量控制在网络传输中是一个常用的概念&#xff0c;它用于调整网络包的发送数据。然而&#xff0c;从系统稳定性角度考虑&#xff0c;在处理请求的速度上&#xff0c;也有非常多的讲究。任意时间到来的请求往往是随机不可控的&#xff0c;…

Unity转Unreal5之从入门到精通 Spline(样条曲线)组件的使用

前言 Spline 组件 能编辑 样条曲线,定义一条路径,路径上的点可以通过距离起点的长度获取,因此可以实现 物体沿路径连续移动 的效果或者 物体沿路径分布 的效果。 今天我们就来实现一个简单的Spline样条曲线的Demo 实现一个沿路径运动的功能 1.新建一个基于 Actor 的蓝图…

ICE/TURN/STUN/Coturn服务器搭建

ICE 当我们想要实现在公网环境下的语音/视频通话功能时&#xff0c;就需要用到ICE交互式连接建立。ICE不是一种协议&#xff0c;整合了 STUN 和 TURN 两种协议&#xff08;用于 NAT 穿透&#xff09;的框架。 ICE的主要目标是解决NAT&#xff08;网络地址转换&#xff09;穿越…

[ C++ ] C++ 类和对象 -- 类的六个默认成员函数

目录 1.构造函数 2.析构函数 3.拷贝构造函数 4.赋值操作符重载 5.两个取地址操作符的重载 在C中当你创建一个空类&#xff0c;那这个空类是什么都没有吗&#xff1f;不是的&#xff0c;编译器会默认帮你生成六个成员函数 1.构造函数 构造函数是特殊的成员函数&#xff0c;…

leetcode 10.9 94.二叉树的中序遍历

94. 二叉树的中序遍历 已解答 简单 相关标签 相关企业 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2]示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a…

makefile的基本练习

假设有如下目录结构&#xff1a;&#xff08;目录结构图&#xff09; 完成以下操作&#xff1a; 1、通过纯命令编写Makefile文件&#xff0c;并发现使用纯命令的不足&#xff1b; 2、在Makefile中&#xff0c;添加变量&#xff0c;简化参数的重复书写&#xff1b; 3、尝试在多目…

『网络游戏』客户端使用PESorket发送消息到服务器【14】

上一章服务器已经完成使用PESorket 现在我们将其导出在客户端中使用 生成成功后复制 粘贴到Unity项目中 进入Assets文件夹 粘贴两个.dll 创建脚本:ClientSession.cs 编写脚本: ClientSession.cs 编写脚本:GameStart.cs 将GameStart.cs脚本绑定在摄像机上 运行服务器 运行客户端…

Linux网络驱动实验

直接参考【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.81 本文仅作为个人笔记使用&#xff0c;方便进一步记录自己的实践总结。 网络驱动是 linux 里面驱动三巨头之一&#xff0c;linux 下的网络功能非常强大&#xff0c;嵌入式 linux 中也常常用到网络功能。前面我们已经讲过…

8.12 矢量图层面要素单一符号使用十三(插值线渲染边界)

8.12 矢量图层面要素单一符号使用十三(插值线渲染边界)-CSDN博客 目录 前言 插值线渲染边界&#xff08;Outline: Interpolated Line&#xff09; QGis设置面符号为插值线渲染边界&#xff08;Outline: Interpolated Line&#xff09; 二次开发代码实现插值线渲染边界&…

Base64字符串转图片在线工具

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 基本原理 Base64编码&#xff0c;作为一种将二进制数据转换为文本格式的方法&#xff0c;其核心在于利用64个可打印字符来表征任意的二进制信息。这一编码方式的出现&#…

erlang学习:Linux命令学习11

crontab命令 crontab命令是用于管理定时任务的命令行工具。它提供了多种选项和参数&#xff0c;可以用来创建、编辑、查看和删除用户的定时任务。 常用命令 以下是一些常用的crontab命令&#xff1a; crontab -e&#xff1a;编辑当前用户的定时任务列表。该命令会在默认编辑…

PostgreSQL学习笔记三:数据类型和运算符

数据类型和运算符 PostgreSQL 支持多种数据类型和运算符&#xff0c;以下是一些常见的数据类型和运算符的概述&#xff1a; 数据类型 基本数据类型 整数类型&#xff1a; SMALLINT&#xff1a;2 字节&#xff0c;范围 -32,768 到 32,767。INTEGER&#xff1a;4 字节&#xff0…

minio简单使用

文章目录 简介官方地址Linux下载安装安装服务启动关闭帮助命令 java开发minio依赖包新建项目pom配置文件配置类Service测试类运行测试 Api使用前言针对桶的操作查看某个桶是否存在创建一个桶返回桶列表删除一个桶 针对文件的操作上传文件到桶中(本地文件上传)上传文件到桶中(基…

C++标准模板库STL之容器--string

STL简介 STL&#xff08;standard template libaray - 标准模板库&#xff09;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;还是一个包罗了数据结构与算法的软件框架。 STL的六大组件及相关函数 仿函数greater、less……算法find、swap、reverse、…

2020年华为杯数学建模竞赛D题论文和代码

无人机集群协同对抗 摘 要&#xff1a; 本文针对非线性约束条件下红蓝双方无人机集群协同对抗的最优规划问题&#xff0c;结合贪婪队形、非线性规划、内点法、蒙特卡洛方法和全联立正交配置有限元法&#xff0c;构建了无人机集群协同对抗推演模型。 针对问题一&#…

OBOO鸥柏全户外液晶广告机室外触控一体机技术标参数公布

整机参数技术公布&#xff1a; OBOO鸥柏智能43寸/49寸/55寸/65寸/75寸/86寸/98寸/110寸全户外LCD液晶安卓系统网络广告屏/室外触摸屏查询一体机投标参数投标标准款。 1、液晶屏具工业级液晶面板&#xff0c;亮度为2000cd/㎡&#xff0c;并且具备自动感光亮度调节&#xff0c;…

工业网关的主要功能-天拓四方

引言&#xff1a; 在当今工业自动化的浪潮中&#xff0c;工业网关作为一种重要的网络连接设备&#xff0c;扮演着不可或缺的角色。其强大的功能使得工业设备能够无缝接入网络&#xff0c;实现远程监控、控制、数据采集和协议转换等&#xff0c;极大地提升了工业生产的效率和智…

算法专题五: 位运算

目录 常见位运算总结1. 位1的个数2. 比特位计数3. 汉明距离4. 只出现一次的数字5. 只出现一次的数字Ⅲ6. 判定字符是否唯一7. 丢失的数字8. 两正数之和9. 只出现一次的数字Ⅲ10. 消失的两个数字 常见位运算总结 重点 : 1. 位1的个数 算法思路: 这道题就用到了我们总结的那个第…

图解 微信开发者工具 小程序源码 调试、断点标记方法 , 微信小程序调试器,真机调试断点调试方法,小程序网络API请求调试方法 总结

在我们使用微信开发者工具进行微信小程序开发的时候&#xff0c;在这个微信开发者工具的代码编辑框里面我们是无法像使用vscode, idea等IDE工具时那样直接对代码打断点进行调试&#xff0c; 原因是小程序实际上他就是一个web浏览器应用的包装, 在其内部使用的还是类似chrome的…

C/C++程序员为什么要了解汇编?了解汇编有哪些好处?如何学习汇编?

目录 1、概述 2、从汇编的角度去理解问题的若干实例说明 2.1、使用空指针去访问类的数据成员或调用类的虚函数为什么会引发崩溃&#xff1f; 2.2、从汇编代码的角度去理解多线程的执行细节&#xff0c;去理解多线程在访问共享资源时为什么要加锁 2.3、使用Windbg静态分析d…