Introducción
Este documento describe cómo resolver problemas de un contenedor de docker detrás de un servidor proxy cuando no puede acceder a Internet.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Interfaz Linux
- Entornos de máquinas virtuales
Componentes Utilizados
La información que contiene este documento se basa en estas versiones de software:
- CloudCenter versión 4.x
- CloudCenter Orchestrator (CCO)
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Antecedentes
Si su empresa necesita que el proxy acceda a Internet, debe configurar el contenedor del acoplador.
Problema
Este es el procedimiento para reproducir el problema cuando el contenedor del acoplador no puede alcanzar Internet.
Cuando el usuario raíz intenta ejecutar el core_installer.bin en el CCO:
[root@localhost tmp]# ./core_installer.bin centos7 vmware cco
Este error aparecerá:
Solución
Paso 1. Ejecute el archivo core_installer.bin con estos argumentos para crear la carpeta principal.
[root@localhost]# /core_installer.bin --noexec --keep
Paso 2. Vaya a la carpeta principal.
[root@localhost]# cd core
Paso 3. Desde la carpeta principal, ejecute el script setup.sh para instalar docker.
[root@localhost core]# /setup.sh centos7 vmware docker
La secuencia de comandos falla con este error "Failed in Docker".
Paso 4. Modifique el archivo Dockerfile.
[root@localhost core]# vi docker/cliqr-container-worker/Dockerfile
Paso 5. Agregue la información del servidor proxy en la sección ENV del archivo Dockerfile.
ENV JAVA_VERSION 1.7.0
ENV http_proxy http://proxy.company.com
ENV https_proxy https://proxy.company.com
Nota: Reemplace proxy.company.com por la dirección del servidor proxy real.
Paso 6. Cree un directorio desplegable sistemático para el servicio docker.
[root@localhost core]# mkdir /etc/systemd/system/docker.service.d
Paso 7. Cree el archivo docker http-proxy.conf.
[root@localhost core]# vi /etc/systemd/system/docker.service.d/http-proxy.conf
Paso 8. Agregue la información del servidor proxy.
[Service]
Environment="HTTP_PROXY=http://proxy.company.com"
Environment="HTTPS_PROXY=https://proxy.company.com"
Environment="NO_PROXY=localhost,127.0.0.1"
Paso 9. Si tiene registros internos de Docker con los que debe ponerse en contacto sin proxy, agréguelos en la variable de entorno NO_PROXY:
Environment="HTTP_PROXY=http://proxy.company.com"
Environment="HTTPS_PROXY=https://proxy.company.com"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.company.com"
Nota: Reemplace proxy.company.com por la dirección del servidor proxy real.
Paso 10. Guarde el archivo de configuración y recargue el servicio docker.
[root@localhost]# systemctl daemon-reload
[root@localhost]# systemctl restart docker
Paso 11. Cree un trabajador a la imagen más reciente con la ayuda de estos comandos.
[root@localhost]# cd /tmp/core/docker/cliqr-container-worker
[root@localhost cliqr-container-worker]# docker build -t 'cliqr/worker:latest' .
Paso 12. Reinicie el servicio docker.
[root@localhost]# systemctl restart docker
Paso 13. Pruebe si el contenedor del acoplador está configurado.
[root@localhost]# docker search coreos
[root@localhost yum]# docker search coreos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
bhuisgen/docker-zabbix-coreos Zabbix agent for CoreOS server 11 [OK]
radial/coreos-pxe Spoke container for running dnsmasq as PXE... 7 [OK]
olalond3/coreos-bitcoind coreos bitcoind 4 [OK]
geowa4/coreos-toolbox Replace the default toolbox image on CoreO... 2 [OK]
million12/linode-coreos-api Deploy CoreOS on Linode. 2 [OK]
pablocouto/coreos-sshguard sshguard for CoreOS 1 [OK]
christianbladescb/newrelic-coreos Run newrelic's sysmond in a container on C... 1 [OK]
allen13/coreos-ansible-toolbox Control CoreOS boxes with ansible using a ... 1 [OK]
shift/coreos-ubuntu-etcd 1 [OK]
majidaldoiongithub/coreos-nvidia run privileged to install nvidia and cuda ... 0 [OK]
skopciewski/coreos-pypy Wrapper for installing pypy on coreos server 0 [OK]
yummly/consul-coreos Consul using etcd on CoreOS for bootstrap.... 0 [OK]
shift/coreos-ubuntu-confd 0 [OK]
jwaldrip/vault-coreos Vault for CoreOS 0 [OK]
zumbrunnen/coreos-gce Google Cloud SDK for CoreOS. Useful for dy... 0 [OK]
cheungpat/coreos-toolbox CoreOS toolbox based on alpine linux 0 [OK]
bretif/coreos-marathon Launch bootstrap script to create mesos/ma... 0 [OK]
openai/coreos-bootstrap Tools for bootstrapping a coreos node. 0 [OK]
docku/pxe-coreos 0 [OK]
kciepluc/coreos-ipxe container with dnsmasq / ipxe environment ... 0 [OK]
kciepluc/coreos-ipxeweb Webserver for bootstrapping CoreOS through... 0 [OK]
evergreenitco/fluentd-kubernetes-coreos-secure Fluentd capture logs containers on Kuberne... 0 [OK]
steigr/coreos CoreOS in Docker 0 [OK]
brandfolder/vault-coreos Vault for CoreOS with an etcd backend. 0 [OK]
kciepluc/coreos-toolbox custom toolbox container for CoreOS 0 [OK]
[root@localhost yum]#
Una vez que se haya configurado el contenedor del acoplador, deberá continuar con la instalación desde core_installer.bin (si va a instalar CCO).
Paso 14. Modifique el archivo cliqr_module.conf.
[root@localhost core]# vi /etc/cliqr_modules.conf
Paso 15. Agregue el acoplador al final del archivo. Esto indica al core_installer.bin que el acoplador está instalado.
sysupdate
gateway
ntp
jdk8
tomcat8
gwtomcatapr
gwmongodb
docker
Paso 16. Vuelva a ejecutar core_installer.bin para completar la instalación.
[root@localhost tmp]# ./core_installer.bin centos7 vmware cco
Verifying archive integrity... All good.
Uncompressing Core Installer V 4.8.0.1.......................................................................................................................................................................................................................................................................................................................................................................................................................................
Installing Module: sysupdate
Module already installed: sysupdate
Installing Module: gateway
Module already installed: gateway
Installing Module: ntp
Module already installed: ntp
Installing Module: jdk8
Module already installed: jdk8
Installing Module: tomcat8
Module already installed: tomcat8
Installing Module: gwtomcatapr
Module already installed: gwtomcatapr
Installing Module: gwmongodb
Module already installed: gwmongodb
Installing Module: docker
Module already installed: docker
Installing Module: usermod
Installing Module: security
[root@localhost tmp]