Documentação
Docker
IMPORTANT NOTE
Infelizmente, nos últimos tempos, as nossas compilações Docker não foram mantidas e esta documentação não funciona como pretendido. post abaixo para uma reunião das questões actuais - com possíveis soluções. questão Foi apresentado no nosso rastreador de problemas e esperamos ser capazes de resolver a situação o mais rapidamente possível. Se você tiver mais a adicionar ou estiver em posição de ajudar, a entrada é sempre bem-vinda.
Esta página descreve como usar o Docker builds of TurnKey Linux appliances. O uso de TurnKey Docker builds requer que você tenha um sistema de host com Docker instalado. Se você deseja instalar Docker em um TurnKey appliance existente, por favor consulte o instruções para Debian (TurnKey v15.x = Debian 9/Stretch).
Por favor, note que estes são recipientes de estilo "socorro completo", em vez de recipientes de estilo "aplicação" como muitos usuários Docker normalmente podem esperar. Como tal, estes recipientes fornecem um sistema operacional completo TurnKey (Debian baseado) e incluem todos os componentes de software do outro opções de download TurnKey appliance alternativas (por exemplo, ISO, etc). Eles são fornecer um ambiente mais como um Recipiente LXC usuário pode esperar, mas otimizado para executar em Docker.
Esta página é uma versão atualizada e melhorada do original Anúncio de compilação do Docker.
Compilações Docker
Estas são builds TurnKey otimizados para funcionar como containers docker, suportando download automático através do índice público docker.
Todos os TurnKey appliances estão disponíveis no Hub Docker (genéria fornecida por Docker, Inc.), que simplifica a implantação.
docker pull turnkeylinux/core docker run -i -t -d turnkeylinux/core
Os recipientes Docker podem ser executados em primeiro plano ou em segundo plano, então tentamos o nosso melhor para suportar todos os casos de uso em relação à inicialização (aka. inithooks) - regeneração secreta, configuração de senhas, configuração de aplicativos, etc.
Dependendo do seu caso de uso, recomendamos duas opções:
Opção 1: Inicialização via ssh (interactiva)
No primeiro login, você será solicitado a inicializar o appliance.
CID=$(docker run -i -t -d turnkeylinux/core)
CIP=$(docker inspect --format='{{.NetworkSettings.IPAddress}}' $CID)
docker logs $CID | grep "Random initial root password"
ssh root@$CIPOpção 2: Criar uma nova imagem com valores preseed (não-interactivos)
O appliance irá inicializar- se com a configuração fornecida. Uma vez inicializada, a configuração será removida. Para mais informações, veja inithooks.
Usar WordPress como exemplo:
mkdir /root/wordpress cat > /root/wordpress/inithooks.conf <<EOF export ROOT_PASS=secretrootpass export DB_PASS=secretmysqlpass export APP_PASS=secretadminwppass export APP_EMAIL=admin@example.com export APP_DOMAIN=www.example.com export HUB_APIKEY=SKIP export SEC_UPDATES=FORCE EOF cat > /root/wordpress/Dockerfile <<EOF FROM turnkeylinux/wordpress ADD inithooks.conf /etc/inithooks.conf EOF docker build -t wordpress /root/wordpress docker run -i -t -d wordpress
Notas
Marcas Docker e puxando/ rodando diferentes versões TurnKey
Antes de TurnKey v15.0, cada versão individual TurnKey appliance Docker compilada incluiu a versão TurnKey no nome. O v14,2 TurnKey Core estava no Docker Hub como "turnkeylinux/core-14,2. Por isso, se você deseja usar TurnKey appliances mais antigo (<15.0) then you will need to include the specific version number as part of the name. E.g. to pull and run TurnKey Core v14.2:
docker pull turnkeylinux/core-14.2 docker run -i -t -d turnkeylinux/core-14.2
No entanto, a partir de v15.0+, estamos usando tags Docker como uma maneira muito melhor de fornecer diferentes versões do nosso appliances. As tags podem ser (opcionalmente) especificadas ao usar a ferramenta docker de linha de comando, adicionando um ponto (:) e o nome da tag. A tag "último" sempre aponta para a última atualização, e se uma tag não for especificada, então "último" é assumido. Então, para puxar e executar a última versão do TurnKey core, você pode usar qualquer um desses exemplos:
docker pull turnkeylinux/core docker run -i -t -d turnkeylinux/core
Ou se você deseja ser verbose:
docker pull turnkeylinux/core:latest docker run -i -t -d turnkeylinux/core:latest
Se você deseja baixar uma versão específica (>=15.0) então você pode especificar a versão desejada como uma tag. Drupal 8 appliance como exemplo, se você quisesse puxar e rodar a versão v15.4, você poderia fazer isso assim:
docker pull turnkeylinux/drupal8:15.4 docker run -i -t -d turnkeylinux/drupal8:15.4
Comando de execução pré- configurado
Docker é projetado para recipientes "aplicação ou processo" - por exemplo, executando mysql, e apenas mysql. Docker curto-circuitos /sbin/init para que você não pode realmente "boot" um recipiente como em baunilha LXC.
Para resolver isto, incluímos /usr/sbin/start.sh(comando de execução padrão) que iniciará todos os serviços e irá cair para uma shell. Quando a shell for terminada, os serviços serão parados. Por esta razão, SSH é recomendado para uso regular do console.
Opções STDIN e TTY necessárias
As opções -i e -t são necessárias para anexar STDIN e alocar um TTY no recipiente. Houve movimentos do Docker para permitir que isso fosse pré-configurado, mas ainda não olhamos mais fundo para isso e não estamos atualizados no estado atual de jogo hte.
Pré- configurado para expor as portas
Todos os TurnKey Docker appliances estão configurados para expor seus serviços personalizados. Isto significa que a máquina pode acessar os serviços, mas eles não estão expostos à rede.
A exposição de portos à rede tem de ser feita em tempo de execução (docs), por exemplo:
# bind port 80 on the host to the container's port 80 docker run -i -t -d -p 80:80 turnkeylinux/lamp
Ou para usar uma porta de host alternativa:
# bind port 8080 on the host to the container's port 80 docker run -i -t -d -p 0.0.0.0:8080:80 turnkeylinux/lamp
Ignorando atualizações de segurança no primeiro arranque
Para acelerar os testes durante o desenvolvimento, o suporte para sobrescrever o valor padrão SEC_UPDATES foi adicionado para start.sh. Foi planejado remover este suporte ou deixá-lo indocumentado, mas decidimos que outros poderiam achar útil quando testar (e apenas em testes!).
# THIS IS NOT RECOMMENDED, USE AT YOUR OWN RISK! docker run -i -t -d -e SEC_UPDATES=SKIP turnkeylinux/openldap