Singularity入門之執行容器

2021-09-25 18:22:27 字數 2487 閱讀 2865

和docker類似,要執行 singularity 也需要先獲取映象,singularity 可以從singularity hub 或者 docker hub 來獲取預編譯的映象,或者編譯新映象。

# 查詢映象

$ singularity search ubuntu

$ singularity pull ubuntu

$ singularity pull docker://ubuntu

# 從 singularity hub build 映象

$ singularity -d build lolcow.simg shub://godloved/lolcow

# 從 docker hub build 映象

$ singularity -d build lolcow.simg docker://godlovedc/lolcow

$ singularity -d build centos.simg docker://centos

$ singularity -d build ubuntu.simg docker://ubuntu

$ singularity shell ubuntu.simg

singularity: invoking an interactive shell within container...

singularity ubuntu.simg:~>

pwd/home/admin

singularity ubuntu.simg:~>

iduid=1000(admin) gid=1000(admin) groups=1000(admin),10(wheel)

$ singularity exec ubuntu.simg bash -c  "pwd && id"

/home/admin

uid=1000(admin) gid=1000(admin) groups=1000(admin),10(wheel)

$ singularity run ubuntu.simg

admin@bdmaster:~$ pwd

/home/admin

admin@bdmaster:~$ id

uid=1000(admin) gid=1000(admin) groups=1000(admin),10(wheel)

$ singularity instance start ubuntu.simg test1

$ singularity instance start ubuntu.simg test2

$ singularity instance list

daemon name pid container image

test1 14172 /home/admin/ubuntu.simg

test2 14239 /home/admin/ubuntu.simg

可以通過 shell, exec, run 命令來連到容器中執行命令

使用 shell 命令連入容器

$ singularity shell instance://test1

singularity ubuntu.simg:~>

ps -ef

uid pid ppid c stime tty time cmd

admin 1 0 0 03:14 ? 00:00:00 singularity-instance: admin [test1]

admin 3 0 3 03:14 pts/0 00:00:00 /bin/bash --norc

admin 4 3 0 03:14 pts/0 00:00:00 ps -ef

使用 exec 執行命令

$ singularity exec instance://test1 ps -ef

uid pid ppid c stime tty time cmd

admin 1 0 0 03:14 ? 00:00:00 singularity-instance: admin [test1]

admin 6 0 0 03:15 pts/0 00:00:00 ps -ef

$ singularity instance stop test1

$ singularity instance stop test1

在 singularity 中也可以在 shell, run, instance.start 等命令中通過 「-b」 選項來實現 docker 中 「-v」 選項提供掛載卷的功能,比如:

運維入門(一)

專業名詞 出包 專案在執行機上執行,打包出結果,再由運維工程師轉交給開發工程師的一項活動。門禁 門禁指的是cicd的門禁,是指必要的時候進行一系列測試,以保證 的質量和其功能是否實現。一般由ci整合工具完成搭建與配置。門禁設定在三種時候,1開發提交 2 開發合併 到專案主庫中 3 出包流水線固定觸發...

Linux入門和運維

linux介紹 linux是一套免費使用和自由傳播的類unix作業系統,是乙個基於posix和unix的多使用者 多工 支援多執行緒和多cpu的作業系統。它能執行主要的unix工具軟體 應用程式和網路協議。它支援32位和64位硬體。linux繼承了unix以網路為核心的設計思想,是乙個效能穩定的多使...

Linux 運維入門 01

pwdcd 切換當前工作目錄 ls 顯示目錄與檔案資訊 選項 a 顯示所有的資訊,包括隱藏檔案與目錄 d 顯示目錄本身的資訊,而非目錄下的資料資訊 h 人性化容量資訊 l 長格式顯示詳細資訊 c 顯示檔案或目錄屬性最後修改的時間 u 顯示檔案或目錄最後被訪問的時間 t 以修改時間排序,預設按檔名稱排...