Docker executa o próprio arquivo iso como os

3

Hey tudo o que eu estou tentando executar um arquivo ISO como os dentro docker para que eu criei o meu iso como tar.gz, mas não consigo encontrar uma resposta adequada para importar esse arquivo dentro do recipiente docker.

Se alguém puder me ajudar nesse sentido, seria ótimo.

    
por Nilay Singh 26.01.2017 / 11:19

1 resposta

1

Se você tiver um arquivo ISO com o conteúdo que gostaria de usar como sistema de arquivos raiz dentro de um contêiner docker, o docker não será compatível diretamente. Você precisa converter a imagem ISO em uma imagem de encaixe primeiro.

Uma solução possível é montar a imagem ISO usando um dispositivo de loop no host e, em seguida, chamar docker run com um contêiner mínimo usando -v para vincular os diretórios de nível superior do iso ao conatiner.

Ou seja. algo como:

mkdir /tmp/iso-mount
mount -o loop,ro path-to-image-file.iso /tmp/iso-mount
top_dir_mounts=()
for i in bin etc lib usr var
do
    top_dir_mounts+=(-v "/tmp/iso-mount/$i:/$i")
done
docker run --rm --read-only "${top_dir_mounts[@]}" --tmpfs /tmp --tmpfs /run busybox

Isso substitui no contêiner o conteúdo da imagem do busybox com arquivos do seu arquivo ISO. Isso poderia ser muito mais simples se docker run permitisse usar -v para sobrecarregar a raiz no contêiner para que todos os -v acima possam ser substituídos por apenas -v "/tmp/iso-mount:/" , mas o docker rejeita isso.

    
por 07.02.2017 / 17:25