Documentación
Docker
IMPORTANT NOTE
Lamentablemente en los últimos tiempos nuestras construcciones Docker no se han mantenido y esta documentación no funciona como se pretendía. Puestos por debajo para una redondez de los problemas actuales - con posibles soluciones. cuestión ha sido presentado en nuestro rastreador de temas y esperamos poder resolver la situación lo antes posible. Si usted tiene más que añadir o está en una posición para ayudar, la entrada siempre es bienvenida.
Esta página describe cómo utilizar Docker construcciones de TurnKey Linux appliances. El uso de TurnKey Docker construye requiere que usted tenga un sistema de host con Docker instalado. Si desea instalar Docker en un TurnKey appliance existente, por favor consulte el instrucciones para Debian (TurnKey v15.x = Debian 9/Stretch).
Tenga en cuenta que estos son contenedores de estilo "full OS", en lugar de "application" contenedores de estilo como muchos usuarios de Docker normalmente pueden esperar. Como tal, estos contenedores proporcionan un sistema operativo completo TurnKey (con base Debian) e incluyen todos los componentes de software de los otros opciones de descarga de TurnKey appliance (por ejemplo, ISO, etc.) Ellos son un entorno más parecido a un Contenedor LXC el usuario puede esperar, pero optimizado para ejecutar en Docker.
Esta página es una versión actualizada y mejorada del original Docker construye anuncio.
Docker construye
Estos son TurnKey construye optimizados para funcionar como contenedores docker, soportando la descarga automática a través del índice público docker.
Todos TurnKey appliances están disponibles en el Docker Hub (generously provided by Docker, Inc), que simplifica el despliegue. Por ejemplo:
docker pull turnkeylinux/core docker run -i -t -d turnkeylinux/core
Los contenedores Docker pueden ser ejecutados en primer plano o en segundo plano, por lo que hemos intentado apoyar todos los casos de uso en relación con la inicialización (también. inithooks) - regeneración secreta, configuración de contraseñas, configuración de aplicaciones, etc.
Dependiendo de su caso de uso, recomendamos dos opciones:
Opción 1: Iniciación mediante ssh (interactive)
En el primer login, se le pedirá que inicialice el 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@$CIPOpción 2: Crear nueva imagen con valores preseleccionados (no interactivo)
El appliance se inicializará con la configuración proporcionada. Una vez inicializada, se eliminará la configuración. Para más información consulte inithooks.
Para usar WordPress como ejemplo:
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
Etiquetas Docker y tirado/correo diferentes versiones TurnKey
Antes de TurnKey v15.0, cada TurnKey appliance Docker de construcción individual incluyó la versión TurnKey en el nombre. v14.2 TurnKey Core estaba en el Hub Docker como "turnkeylinux/core-14.2". Así que si desea utilizar TurnKey appliances más antiguo (XX)<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
Sin embargo, a partir de v15.0+, estamos usando etiquetas Docker como una forma mucho mejor de proporcionar diferentes versiones de nuestro appliances. Las etiquetas pueden ser (opción a) especificadas cuando se utiliza la herramienta de comandos docker mediante el gasto de un colon (:) y el nombre de la etiqueta. La etiqueta "la última" siempre apunta a la última actualización, y si una etiqueta no se especifica, entonces "la última" se asume. Para sacar y ejecutar la última versión de TurnKey core, puede utilizar cualquiera de estos ejemplos:
docker pull turnkeylinux/core docker run -i -t -d turnkeylinux/core
O si desea ser verboso:
docker pull turnkeylinux/core:latest docker run -i -t -d turnkeylinux/core:latest
Si desea descargar una versión específica ( > = 15.0) entonces puede especificar la versión deseada como una etiqueta. Drupal 8 appliance como ejemplo, si deseas tirar y ejecutar la versión v15.4, puedes hacer eso de esta manera:
docker pull turnkeylinux/drupal8:15.4 docker run -i -t -d turnkeylinux/drupal8:15.4
Pre-configurado comando de ejecución
Docker está diseñado para contenedores de "aplicación o proceso" - por ejemplo, ejecutando mysql, y sólo mysql. Docker cortocircuits /sbin/init para que no puedas "boot" realmente un contenedor como en vainilla LXC.
Para trabajar en torno a esto, hemos incluido /usr/sbin/start.sh(comando de ejecución predeterminado) que comenzará todos los servicios y caerá a una concha. Cuando la concha se salga, los servicios serán parados. Por esta razón, SSH es recomendado para el uso regular de consola.
Opciones STDIN y TTY necesarias
Las opciones -i y -t son necesarias para adjuntar STDIN y asignar un TTY al contenedor. Ha habido movimientos de Docker para permitir que esto sea pre-configurado pero aún no hemos mirado más profundamente en eso y no están actualizados en el estado actual de juego de hte.
Pre-configurado para exponer puertos
Todo TurnKey Docker appliances están configurados para exponer sus servicios personalizados. Esto significa que el host puede acceder a los servicios, pero no están expuestos a la red.
Exponer puertos a la red debe hacerse en tiempo de ejecución (docs), por ejemplo:
# bind port 80 on the host to the container's port 80 docker run -i -t -d -p 80:80 turnkeylinux/lamp
O para utilizar un puerto anfitrión alternativo:
# 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
Actualizaciones de seguridad de saltar en la primera bota
Para acelerar las pruebas durante el desarrollo, se agregó soporte para sobrescribir el valor SEC_UPDATES predeterminado para iniciar.sh. Se planeó eliminar este soporte o dejarlo indocumentado, pero decidimos que otros podrían encontrarlo útil cuando se prueba (y sólo en pruebas!).
# THIS IS NOT RECOMMENDED, USE AT YOUR OWN RISK! docker run -i -t -d -e SEC_UPDATES=SKIP turnkeylinux/openldap