start contêiner systemd-nspawn / systemd na inicialização

2

Estou trabalhando com o systemd-nspawn e tenho alguns contêineres que gostaria de iniciar automaticamente no início do sistema.

Estou usando o arch linux e de acordo com a entrada archwiki , o código a seguir deve fazer o seguinte: truque

# systemctl enable [email protected]
# systemctl start [email protected]

Supondo que o contêiner MyContainer esteja em / var / lib / machines e tenha sido criado com algo como:

# pacstrap -i -c -d /var/lib/machines/MyContainer base

Eu posso iniciar o container com:

# sudo systemd-nspawn -b -D /var/lib/machines/MyContainer

e

# systemctl start [email protected]

bem como

# machinectl start MyContainer

mas eu simplesmente não consigo fazer o contêiner iniciar na inicialização e executar sudo systemctl status [email protected] logo após a inicialização não mostra nenhum erro. Alguém sabe o que eu preciso fazer? Será que talvez precise haver outro serviço em execução?

    
por flooose 22.08.2015 / 16:18

1 resposta

1

Depois de fazer um pouco mais de pesquisa, descobri o problema. Não é que outro serviço precise estar em execução, mas sim outro destino , especificamente machines.target , portanto, executando

systemctl enable machines.target

além dos comandos acima, fez com que MyContainer começasse na inicialização.

Como uma nota lateral, isso não ficou claro, porque quando eu chamo

systemctl list-units --all --type=target

em ambos os meus computadores (ambos executando arch linux), machines.target não está incluído na lista. Não tenho certeza porque, mas essa foi a correção.

    
por 01.09.2015 / 11:02