Преобразование файла tar в Docker в образ сингулярности? - PullRequest
0 голосов
/ 10 октября 2018

Я новичок в Docker и Singularity.Я недавно создал канонический main.c.

#include <stdio.h>
#include <stdlib.h>

int main(void){
    printf("Hello Docker World!\n");
    return 0;
}

Я статически скомпилировал этот код, т.е.

gcc -static -static-libgcc -static-libstdc++ -o hello main.c

Затем я построил образ докера и смог запустить его, то есть

dockerd &  ## Start Docker daemon
docker build --tag hello .
docker run hello   ## Outputs "Hello Docker World"

I, а затем сохраните изображение, чтобы я мог экспортировать его на второй компьютер (у которого нет докера, но есть особенность), т.е.

docker save hello > hello.tar

Теперь на второй машине, на которой нетДокер, но имеет особенность, я хочу создать образ особенность.Сингулярность документация дает инструкции по созданию образа сингулярности из образа докера в Docker Hub, но не дает инструкций по конвертации из файла docker tar'd.

Вопрос: Как быЯ создаю изображение необычности из моего hello.tar

1 Ответ

0 голосов
/ 10 октября 2018

Использовать контейнер локального реестра, как показано ниже:

# Start a docker registry
$ docker run -d -p 5000:5000 --restart=always --name registry registry:2
# Push local docker container to it
$ docker tag alpine localhost:5000/alpine
$ docker push localhost:5000/alpine
# Create def file for singularity like this..
# (add your modifications)
Bootstrap: docker
Registry: http://localhost:5000
Namespace:
From: alpine:latest
# Build singularity container
$ sudo SINGULARITY_NOHTTPS=1 singularity build alpine.simg def
...