Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Problema

Soluzione

Introduzione

In questo documento viene descritto come risolvere i problemi relativi a un contenitore di tipo docker dietro un server proxy quando non è possibile accedere a Internet.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Interfaccia Linux

- Ambienti di macchine virtuali

Componenti usati

Le informazioni di questo documento si basano sulle seguenti versioni software:

- CloudCenter versione 4.x

- CloudCenter Orchestrator (CCO)

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

Se l'azienda richiede un proxy per accedere a Internet, è necessario configurare il contenitore docker.

Problema

Questa è la procedura per riprodurre il problema quando il contenitore docker non è in grado di raggiungere Internet.

Quando l'utente root tenta di eseguire il file core_installer.bin sul CCO:

[root@localhost tmp]# ./core_installer.bin centos7 vmware cco

Questo errore verrà visualizzato:

Soluzione

Passaggio 1. Eseguire il file core_installer.bin con questi argomenti per creare la cartella principale.

[root@localhost]# /core_installer.bin --noexec --keep

Passaggio 2. Passare alla cartella principale.

[root@localhost]# cd core

Passaggio 3. Dalla cartella principale, eseguire lo script setup.sh per installare il docker.

[root@localhost core]# /setup.sh centos7 vmware docker

Lo script non riesce e viene visualizzato l'errore "Failed in Docker" (Errore in Docker).

Passaggio 4. Modificare il file Docker.

[root@localhost core]# vi docker/cliqr-container-worker/Dockerfile

Passaggio 5. Aggiungere le informazioni sul server proxy nella sezione ENV del file Docker.

ENV JAVA_VERSION 1.7.0

ENV http_proxy http://proxy.company.com

ENV https_proxy https://proxy.company.com

Nota: Sostituire proxy.company.com con l'indirizzo effettivo del server proxy.

Passaggio 6. Creare una directory di destinazione di sistema per il servizio docker.

[root@localhost core]#  mkdir /etc/systemd/system/docker.service.d

Passaggio 7. Creare il file http-proxy.conf del docker.

[root@localhost core]# vi /etc/systemd/system/docker.service.d/http-proxy.conf

Passaggio 8. Aggiungere le informazioni sul server proxy.

[Service]

Environment="HTTP_PROXY=http://proxy.company.com"

Environment="HTTPS_PROXY=https://proxy.company.com"

Environment="NO_PROXY=localhost,127.0.0.1"

Passaggio 9. Se si dispone di registri Docker interni che è necessario contattare senza inoltrare tramite proxy, aggiungerli nella variabile di ambiente 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: Sostituire proxy.company.com con l'indirizzo effettivo del server proxy.

Passaggio 10. Salvare il file di configurazione e ricaricare il servizio docker.

[root@localhost]# systemctl daemon-reload

[root@localhost]# systemctl restart docker

Passaggio 11. Creare il processo di lavoro sull'immagine più recente con l'aiuto di questi comandi.

[root@localhost]# cd /tmp/core/docker/cliqr-container-worker

[root@localhost cliqr-container-worker]# docker build -t 'cliqr/worker:latest' .

Passaggio 12. Riavviare il servizio docker.

[root@localhost]# systemctl restart docker

Passaggio 13. Verificare se il contenitore del docker è configurato.

[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 volta configurato il contenitore del docker, sarà necessario continuare l'installazione da core_installer.bin (se si sta installando CCO).

Passaggio 14. Modificare il file cliqr_modules.conf.

[root@localhost core]#  vi /etc/cliqr_modules.conf

Passaggio 15. Aggiungere l'ancoraggio alla fine del file. In questo modo il file core_installer.bin viene informato che il docker è installato.

sysupdate

gateway

ntp

jdk8

tomcat8

gwtomcatapr

gwmongodb

docker

Passaggio 16. Eseguire nuovamente il file core_installer.bin per completare l'installazione.

[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]