Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Informations générales

Problème

Solution

Introduction

Ce document décrit comment dépanner un conteneur de docker derrière un serveur proxy lorsqu'il n'est pas en mesure d'accéder à Internet.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Interface Linux

- Environnements de machines virtuelles

Components Used

Les informations contenues dans ce document sont basées sur les versions de logiciel suivantes :

- CloudCenter version 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.

Informations générales

Si votre entreprise a besoin d'un proxy pour accéder à Internet, vous devez configurer le conteneur de docker.

Problème

Cette procédure permet de reproduire le problème lorsque le conteneur de docker n'est pas en mesure d'accéder à Internet.

Lorsque l'utilisateur racine tente d'exécuter le fichier core_installer.bin sur CCO :

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

Cette erreur s'affiche :

Solution

Étape 1. Exécutez le fichier core_installer.bin avec ces arguments pour créer le dossier principal.

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

Étape 2. Accédez au dossier principal.

[root@localhost]# cd core

Étape 3. À partir du dossier principal, exécutez le script setup.sh pour installer docker.

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

Le script échoue avec cette erreur « Échec dans Docker ».

Étape 4. Modifiez le fichier Dockerfile.

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

Étape 5. Ajoutez les informations du serveur proxy dans la section ENV du fichier Dockerfile.

ENV JAVA_VERSION 1.7.0

ENV http_proxy http://proxy.company.com

ENV https_proxy https://proxy.company.com

Note: Remplacez proxy.company.com par l'adresse du serveur proxy réel.

Étape 6. Créez un répertoire système pour le service docker.

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

Étape 7. Créez le fichier docker http-proxy.conf.

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

Étape 8. Ajoutez les informations du serveur proxy.

[Service]

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

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

Environment="NO_PROXY=localhost,127.0.0.1"

Étape 9. Si vous avez des registres Docker internes à contacter sans proxy, ajoutez-les dans la variable d'environnement 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"

Note: Remplacez proxy.company.com par l'adresse du serveur proxy réel.

Étape 10. Enregistrez le fichier de configuration et rechargez le service de docker.

[root@localhost]# systemctl daemon-reload

[root@localhost]# systemctl restart docker

Étape 11. Créez le travailleur sur la dernière image à l'aide de ces commandes.

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

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

Étape 12. Redémarrez le service de docker.

[root@localhost]# systemctl restart docker

Étape 13. Vérifiez si le conteneur de docker est configuré.

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

Une fois le conteneur de docker configuré, vous devez poursuivre l'installation à partir de core_installer.bin (si vous installez CCO).

Étape 14. Modifiez le fichier cliqr_modules.conf.

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

Étape 15. Ajoutez le docker à la fin du fichier. Ceci indique au fichier core_installer.bin que docker est installé.

sysupdate

gateway

ntp

jdk8

tomcat8

gwtomcatapr

gwmongodb

docker

Étape 16. Exécutez à nouveau le fichier core_installer.bin pour terminer l'installation.

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