Minhas consultas no google estão ficando estranhas por causa da arquitetura: estou executando o linux como host e um arch VM como convidado. O arch VM não possui uma GUI, apenas o terminal. Eu acesso principalmente a VM via SSH. Os contêineres do docker estão atualmente localizados no sistema host.
Quero executar o contêiner docker na VM. Como faço para implantá-los no sistema convidado? Existe uma maneira de ouro de fazer isso?
Você basicamente tem 2 hosts:
1. O host em que você tem o Docker;
2. e a VM do Arch na qual você não possui o Docker.
Não importa que um seja um host de uma VM e que o outro seja um convidado de VM. São 2 sistemas diferentes.
Agora respondendo à sua questão:
Para mover os contêineres do Docker para outro host, você precisa desativá-los primeiro, não é possível movê-los enquanto estiverem online.
Em seguida, você usa
docker commit
para confirmar e salvar as alterações na imagem do contêiner. Depois, você pode simplesmente copiar a imagem do contêiner para sua VM (viascp
ou qualquer outro meio). Quando você tiver as imagens de contêiner em sua VM, poderá usá-las apenasdocker run
para iniciá-las. É simples assim.No entanto, observe que você precisa instalar
docker
em sua VM para fazer isso. Como mencionei, são dois sistemas diferentes. Máquina virtual ou não - eles não compartilham nada além de recursos de hardware.