O que funcionou para mim, depois de muitos manuais e tutoriais confusos, uma vez que Docker obviamente está no momento da minha escrita com um vislumbre de expectativas infladas , é:
- Salve a imagem do docker no arquivo:
docker save image_name > image_name.tar
- copie em outra maquina
- nessa outra máquina docker, execute docker load da seguinte maneira:
cat image_name.tar | docker load
Exportar e importar, conforme proposto em outras respostas, não exporta portas e variáveis, que podem ser necessárias para o funcionamento do seu contêiner. E você pode acabar com coisas como "Nenhum comando especificado" etc ... Quando você tenta carregá-lo em outra máquina.
Portanto, a diferença entre salvar e exportar é que o comando salvar salva a imagem inteira com histórico e metadados, enquanto o comando export exporta apenas a estrutura dos arquivos (sem histórico ou metadados).
Desnecessário dizer é que, se você já tem essas portas tomadas no docker hyper-visor que você está importando, por algum outro docker container, você acabará em conflito e terá que reconfigurar as portas expostas.