簡體   English   中英

使用奇點 linux 代替 docker-compose

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM