Eu ajustei o template lxc do CentOS para suportar o CentOS 7.
Uma cópia do modelo lxc que criei é colocada no link
Isso foi feito porque havia algumas etapas relacionadas à versão 7 do sistema operacional, que não foi mencionada no modelo lxc-centos atual, e foi mencionada no modelo lxc-oracle. Eu retirei as seções relevantes do lc-oracle e as adicionei ao template atual do lxc-centos e criei um novo template chamado lxc-centos-7.
Em seguida, crie um contêiner lxc usando o comando
lxc-create -n centos7 -t /usr/local/share/lxc/templates/lxc-centos-7 -- -R 7
Isso fará o download dos arquivos necessários para a versão de lançamento 7
Depois disso, se você tentar iniciar o contêiner LXC, receberá "[!!!!!!] Falha ao alocar o objeto gerenciador, congelando." ao tentar iniciar.
Agora crie um diretório systemd em / cgroup
Monte usando o comando abaixo.
mount -t cgroup -o none,name=systemd cgroup /cgroup/systemd
Agora, se você iniciar o contêiner LXC e tentar efetuar login, receberá a mensagem de erro " servidor recusou alocar pty "
Para evitar isso, pare o contêiner e crie um script de shell que fará as ações necessárias.
[root@centos ~]# vi /usr/local/var/lib/{container_name}/rooftfs/usr/local/bin/device_initiation.sh
#!/bin/bash
mknod -m 600 /dev/console c 5 1 2>/dev/null
mknod -m 666 /dev/null c 1 3 2>/dev/null
mount -n -t tmpfs none /dev 2>/dev/null
mknod -m 622 /dev/console c 5 1 2>/dev/null
mknod -m 666 /dev/null c 1 3 2>/dev/null
mknod -m 666 /dev/zero c 1 5 2>/dev/null
mknod -m 666 /dev/ptmx c 5 2 2>/dev/null
mknod -m 666 /dev/tty c 5 0 2>/dev/null
mknod -m 444 /dev/random c 1 8 2>/dev/null
mknod -m 444 /dev/urandom c 1 9 2>/dev/null
chown root:tty /dev/{console,ptmx,tty} 2>/dev/null
ln -s /proc/self/fd /dev/fd 2>/dev/null
ln -s /proc/self/fd/0 /dev/stdin 2>/dev/null
ln -s /proc/self/fd/1 /dev/stdout 2>/dev/null
ln -s /proc/self/fd/2 /dev/stderr 2>/dev/null
ln -s /proc/kcore /dev/core 2>/dev/null
mkdir /dev/pts 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t devpts -o gid=4,mode=620 none /dev/pts 2>/dev/null
mount -t tmpfs none /dev/shm 2>/dev/null
Como estamos colocando este arquivo em usr / local / bin, este comando estará acessível diretamente no sistema.
Agora, para inicializar o servidor e executar este script de shell, criei um script de shell.
[root@centos ~]# vi startup_centos7.sh
#!/bin/bash
lxc-start -n centos7
lxc-attach -n centos7 device_initiation.sh
exit
Depois de executar o script, o CentOS 7 será iniciado e você poderá fazer login sem problemas.
Depois de seguir os passos acima, eu comecei a trabalhar com a versão CentOS 7.3 instalada no novo container LXC.