Red de conocimiento informático - Material del sitio web - Cómo crear un almacén de caché proxy utilizando el almacén de código abierto Docker

Cómo crear un almacén de caché proxy utilizando el almacén de código abierto Docker

Una de las características más nuevas del repositorio Docker v2 de código abierto: se puede utilizar como un repositorio de caché proxy para almacenar imágenes en caché en Docker Hub. La ejecución de un repositorio de caché le permite almacenar imágenes localmente, lo que reduce la necesidad de extraer imágenes de Docker Hub a través de Internet, lo cual resulta útil para algunos usuarios con una gran cantidad de motores Docker en su entorno. Si sigue este tutorial, puede ahorrar tiempo y ancho de banda haciendo que los motores Docker extraigan imágenes del repositorio de caché del proxy local en lugar de que cada motor extraiga siempre imágenes de Docker Hub.

Puedes empezar así:

#### Requerido:

- Docker Engine 1.8.3

- Código Docker Biblioteca v2

- Espacio suficiente en disco para almacenar imágenes de Docker

- Certificados y claves TLS

Datos persistentes

En este En el ejemplo , asumimos que almacena todos los datos persistentes en su sistema de archivos local en la ruta /data /codegt, que contiene archivos de clave y certificado TLS, archivos de configuración y archivos de caché de imágenes. Más adelante usaremos volúmenes para montar este directorio en el contenedor que ejecuta el repositorio.

Proteja su repositorio de caché de proxy

El repositorio de caché de proxy requiere un certificado TLS para asegurar la conexión entre el motor Docker y el repositorio de caché. En este ejemplo, colocaremos el archivo de certificado (lt;codegt;domain.crtlt;/codegt;) y el archivo de clave (lt;codegt;domain.keylt;/codegt;) en el lt;codegt;/datalt; /codegt; directorio.

Para obtener más información sobre el uso de TLS para mejorar la seguridad del repositorio, consulte la documentación de Docker Repository 2.0.

Cree un archivo de configuración del repositorio de caché de proxy

A continuación, debe crear un archivo de configuración para usar este repositorio como caché de proxy. Puede utilizar el comando cat para redirigir la salida del archivo de configuración predeterminado en lt;codegt;registry:2lt;/codegt;image a un archivo:

$ docker run -it --rm -- registro de gato de punto de entrada: 2 \

/etc/docker/registry/config.yml gt; /data/config.yml gt; datos/ config.yml gt;/data/config.yml gt;.

lt;codegt; Recomiendo encarecidamente obtener esta configuración predeterminada de la imagen de Docker en lugar de usar la configuración del ejemplo, ya que esta configuración predeterminada puede actualizarse en el futuro.

lt;/codegt;

Ejemplo de config.yml predeterminado:

yaml

Versión: 0.1

Registro:

Campos

Servicio: Registro

Almacenamiento:

Caché:

Información de capa: inmemory

Archivo sistema:

Directorio raíz: /var/lib/registry

/docker/dist... or.md )

yaml

proxy:

remoteurl: :5000/v2/

HTTP/1.1 200 OK

Longitud del contenido: 2

Contenido - Tipo: aplicación/json; charset=utf-8

Docker-Distribution-Api-Versión: registro/2.0

Fecha: jueves, 17 de septiembre de 2015 21:42:02 GMT

Configure su motor Docker para usar un repositorio de caché proxy

Utilice la opción

p>

sh

--registry-mirror=, el puerto del servicio del repositorio es 5000, debe agregar las siguientes opciones a los parámetros del demonio:

sh

--registry-mirror=:5000

Para obtener más información sobre cómo agregar parámetros del demonio Docker, consulte Configuración de Docker para que se ejecute en varias distribuciones de Linux.

Pruebe el repositorio de caché del proxy

Extraiga una imagen que no esté disponible localmente desde Docker Hub. Por ejemplo, togetherbox:late image:

sh

$ docker pull Busybox:latest

Verifique el directorio en el repositorio de caché para verificar que la imagen de Busybox sea en caché :

sh

$ curl :5000/v2/_ catalog

{"repositories":["library/busybox"]}

Puede extraer una imagen de Docker Hub que no esté disponible localmente.

También puedes verificar que las últimas etiquetas estén almacenadas en caché:

sh

$ curl :5000/v2/library/busybox/tags/ list

{"name":"library/busybox", "tags":["latest"]}

Ahora, cuando extraigas imágenes, se almacenarán en caché en tu almacén de caché proxy En la biblioteca , extraer las mismas imágenes en el futuro será más rápido y el caché de imágenes se mantendrá por sí solo y se borrará automáticamente cuando ya no se use.