[英]Substitute for docker-compose using singularity linux
感謝您查看我的問題!
問題:我對 docker 和 linux 還很陌生。 我想在我的 linux dist(CentOS 版本 7)中運行 docker 映像,我無法更改根目錄。 Singularity v.3.6.4 已安裝,我使用以下命令提取 docker 映像:
module load singularity/3.6.4
singularity pull docker://usdaarsnwrc/awsm:0.10
請注意,因為我無法更改根目錄,所以我已將 SINGULARITY_TMPDIR 和 SINGULARITY_CACHEDIR 設置為我的主目錄。
這工作沒有錯誤。
然后我下載一個測試用例:
git clone https://github.com/USDA-ARS-NWRC/awsm_test_cases.git
並嘗試使用他們建議的命令運行它:
python ./awsm_docker --case tuol
我收到以下錯誤:
/bin/sh: docker-compose: command not found
Traceback (most recent call last):
File "./awsm_docker", line 73, in <module>
run()
File "./awsm_docker", line 55, in run
os.remove('./{}/topo/maxus.nc'.format(fpc))
FileNotFoundError: [Errno 2] No such file or directory: './tuolumne/topo/maxus.nc'
問題
似乎此錯誤是由測試數據文件夾中包含的腳本 awsm_docker 導致的,該腳本在兩個實例中調用 docker-compose。 前任:
run_call = ('docker-compose'
' -f ./{}/docker-compose.yml'
' run awsm /data/input/{}').format(fpc, cfg)
call(run_call, shell=True, universal_newlines=True)
所以看起來我的問題是將 docker-compose 翻譯成與奇異性兼容的語言? 關於這將如何工作的任何想法?
謝謝您的幫助!
盡管兩者都是容器,但 Singularity 不能總是用作 Docker 的替代品。 當涉及到 docker-compose 時,您總是需要做一些額外的工作。
在這種情況下,由於 docker-compose 是在其 python 腳本中直接調用的,因此您將不得不編寫一個具有等效奇點命令的等效腳本。 它們非常好,可以打印出您需要修改的完整 docker 命令。 在這之間,Docker 文檔和關於奇異性和 docker的文檔,你應該有你需要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.