Colab中如何臨時使用udocker(以MinIO為例)

  • 本文主要是想記錄一下自己在Colab中用udocker啟動一個MinIO的容器的過程。

1. 命令行配置環境

由于目前沒有用到GPU,所以我選擇的是CPU的環境。(內存12G)
在這里插入圖片描述
然后就可以在命令行里安裝udocker了,并配置minio的環境

# 由于minio需要做兩個端口映射,分別是9000和9001,因此需要先判斷一下這兩個端口號是否被占用。
lsof -i:9000  # 9000端口發現被占用了,所以后期只能將minio的9000端口映射到其他端口號上了,我發現9002違背占用,因此后期映射到9002
lsof -i:9001  # 沒有輸出,表示沒有被占用# 安裝udocker
pip install udockerudocker --allow-root install# 搜索鏡像
udocker --allow-root search minio  # 需要在udocker后面加上 --allow-root
# 拉取鏡像
udocker --allow-root pull minio/minio
# 查看鏡像
udocker --allow-root images
# 創建一個容器
udocker --allow-root create --name=minio-server minio/minio
# 查看已經創建的容器
udocker --allow-root ps
# 創建所需的文件夾,后期用于目錄映射
mkdir -p /content/minio/data# 創建一個自己的容器
udocker --allow-root run \-e MINIO_ROOT_USER=micheal \-e MINIO_ROOT_PASSWORD=micheal123456 \-p 9002:9000 \-p 9001:9001 \-v /content/minio/data:/data \minio-server server /data --console-address ":9001"

上述腳本說明:

  • -e:表示設置環境變量 --env
  • -p:表示端口號映射,本機端口號:容器端口號
  • -v:目錄映射

如果你想要容器后端啟動,則可以將創建容器的命令寫入到一個xxx.sh的腳本中,然后用如下命令運行:

nohup bash ./xxx.sh > minio.log 2>&1 &

此時,可以通過lsof -i:9002命令來查看是否啟動起來了,如果未啟動,則可以查看minio.log日志中的報錯信息。(正常情況下,日志如下)
在這里插入圖片描述

進階操作

此時,你肯定會想通過localhost:9001查看一下webUI界面。但是呢,此時你通過ifconfig得到的也只是局域網的IP,公網無法訪問。
于是乎,你可以借助 Localtunnel,來將colab服務端口暴露到公網訪問。

  • 可以在 Colab 單元格中運行 !npx localtunnel --port 9001 。 運行后,它會提供一個公共 URL 用于訪問。

  • 但是,最好在 終端的命令行 中運行npx localtunnel --port 9001,因為該命令運行會持續運行。或者也可以用nohup啟動該命令
    在這里插入圖片描述

  • 仔細觀察輸出信息,它通常會直接顯示類似 your url is: https://xxxxxx.loca.lt 的信息。

  • 如果需要你提供Tunnel Password時,你可以輸入:!curl https://loca.lt/mytunnelpassword 進行查詢
    在這里插入圖片描述

2. python測試

# 安裝對應的庫文件
!pip install minio
# 測試鏈接
from minio import Minio
from minio.error import S3Error
try:client = Minio('0.0.0.0:9002',access_key='micheal',secret_key='micheal123456',secure=False)found = client.bucket_exists("temp")
except S3Error as e:print("error:", e)
print(found)# 返回布爾值 True or False

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90660.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90660.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90660.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

rt-thread 5.2.1 基于at-start-f437開發過程記錄

基于rt-thread 5.2.1 bsp/at/at32f437-start進行開發,記錄詳細過程,包括中間遇到的各種坑。 at32f437-start原理圖 自己設計的電路板主要換了一塊小封裝的同系列芯片, 目標是移植opENer。 1. 開發環境 env長時間不用,有點忘了。這次新下載…

EMCCD相機與電可調變焦透鏡的同步控制系統設計與實現

EMCCD相機與電可調變焦透鏡的同步控制系統設計與實現 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家,覺得好請收藏。點擊跳轉到網站。 摘要 本文詳細介紹了基于Python的EMCCD相機&#xff0…

前綴和-560.和為k的子數組-力扣(LeetCode)

一、題目解析1.子數組是數組中元素的連續非空序列2.nums[i]范圍為[-1000,1000],存在負數3.由于2的題目條件,該題不能用雙指針算法,不具備單調性 二、算法原理解法1:暴力解法->枚舉 O(N^2)固定一個值,向后枚舉數組和…

解決企業微信收集表沒有圖片、文件組件,不能收集圖片的問題

問題: 企業微信里面的收集表功能,有一個圖片收集的收集表,但是插入的組件沒有收集圖片的組件? 原因: 大概率是微盤未啟用 解決方法: 1、登陸企業微信管理后臺 企業微信 2、訪問微盤頁面,…

認識單片機

《認識單片機》課程內容 一、課程導入 在我們的日常生活中,有很多看似普通卻充滿智慧的小物件。比如家里的智能電飯煲,它能精準地控制煮飯的時間和溫度,讓米飯煮得香噴噴的;還有樓道里的聲控燈,當有人走過發出聲音時&a…

數據結構(2)順序表算法題

一、移除元素1、題目描述2、算法分析 思路1:查找val值對應的下標pos,執行刪除pos位置數據的操作。該方法時間復雜度為O(n^2),因此不建議使用。思路2:創建新數組(空間大小與原數組一致&#xff0…

汽車電子架構

本文試圖從Analog Devices官網中的汽車解決方案視角帶讀者構建起汽車電子的總體架構圖,為國內熱愛和從事汽車電子行業的伙伴們貢獻一份力量。 一 、汽車電子架構總覽 整個汽車電子包括四個部分:車身電子(Body Electronics)、座艙與…

pycharm 2025 專業版下載安裝教程【附安裝包】

安裝之前,請確保已經關閉所有安全軟件(如殺毒軟件、防火墻等)安裝包 👇鏈接:https://pan.xunlei.com/s/VOU-5_L1KOH5j3zDaaCh-Z28A1# 提取碼:6bjy下載 PyCharm2025專業版 安裝包 并 進行解壓運行 pycharm-2…

在 Java 世界里讓對象“旅行”:序列化與反序列化

Java 生態里關于 JSON 的序列化與反序列化(以下簡稱“序列化”)是一個久經考驗的話題,卻常因框架繁多、配置瑣碎而讓初學者望而卻步。本文將圍繞一段極簡的 JsonUtils 工具類展開,以 FastJSON 與 Jackson 兩大主流實現為例&#x…

High Speed SelectIO Wizard ip使用記錄

本次實驗的目的是通過VU9P開發板的6個TG接口,采用固定連接的方式,即X和X-維度互聯,其框圖如下所示:IP參數配置通過調用High Speed SelectIO Wizard來實現數據通路,High Speed SelectIO Wizard ip有24對數據通道&#x…

Execel文檔批量替換標簽實現方案

問題背景需求:俺現網班級作為維度,批量導出每個班級學員的數據,excel的個數在1k左右,每一張表的人數在90左右。導出總耗時在10小時左右。代碼編寫完成并導出現網數據后,發現導出的標題錯了。解決方案1.通過修改代碼&am…

SpringBoot配置多數據源多數據庫

Springboot支持配置多數據源。默認情況,在yml文件中只會配置一個數據庫。如果涉及到操作多個數據庫的情況,在同實例中(即同一個ip地址下的不同數據庫),可以采用數據庫名點數據庫表的方式,實現跨庫表的操作。…

Rocky9.4部署Zabbix7

一、配置安裝源 rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm ? yum clean all 二、安裝Zabbix server,Web前端,agent yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf z…

【Java】對象類型轉換(ClassCastException)異常:從底層原理到架構級防御,老司機的實戰經驗

在開發中,ClassCastException(類轉換異常)就像一顆隱藏的定時炸彈,常常在代碼運行到類型轉換邏輯時突然爆發。線上排查問題時,這類異常往往因為類型關系復雜而難以定位。多數開發者習慣于在轉換前加個instanceof判斷就…

探路者:用 AI 面試加速人才集結,為戶外愛好者帶來更專業的服務

作為深耕戶外用品領域的知名品牌,探路者已構建起覆蓋全國的銷售服務網絡,上千品種的產品矩陣更是為品牌在市場中站穩腳跟提供了有力支撐。對探路者來說,要持續為戶外愛好者帶來專業且貼心的體驗,專業人才是核心支撐。然而&#xf…

LeetCode——面試題 05.01 插入

通過萬歲!!! 題目:一共會給四個數,分別是N、M、i、j,然后希望我們把N和M抓怒換為2進制以后,將M的二進制放在i到j之間的區域,如果M的二進制長度小于i-j1,則前面補0即可。最…

前端設計中如何在鼠標懸浮時同步修改塊內樣式

雖然只是一個小問題,但這個解決問題的過程也深化了自己對盒子模型的理解問題緣起正在寫一個登錄注冊的小窗口,想要在鼠標懸浮階段讓按鈕和文字都變色,但是發現實操的時候按鈕和文字沒辦法同時變色鼠標懸停前鼠標懸停后問題分析仔細分析了下該…

航空發動機高速旋轉件的非接觸式信號傳輸系統

航空發動機是飛機動力系統的核心,各種關鍵部件如渦輪、壓氣機等,經常處于極端高溫、高速旋轉的工作環境中。航空發動機內的傳感器數據,如何能夠穩定可靠的通過無線的方式傳輸到檢測太,一直是業內的一個難點和痛點。在這個領域&…

【postgresql按照逗號分割字段,并統計數量和求和】

postgresql按照逗號分割字段,并統計數量和求和postgresql按照逗號分割字段,并統計數量和求和postgresql按照逗號分割字段,并統計數量和求和 SELECT ucd, p ,tm, step, unitcd, tm_end from resource_calc_scene_rain_bound_value_plus whe…

「iOS」————繼承鏈與對象的結構

iOS學習前言對象的底層結構isa的類型isa_tobjc_class & objc_object類信息的靜態與動態存儲(ro、rw、rwe機制)cachebits繼承鏈isKindOfClass和isMemberOfClassisKindOfClass:isMemberofClass前言 對 對象底層結構的相關信息有點遺忘,簡略…