Cómo crear un almacén de caché proxy utilizando el almacén de código abierto Docker
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.