Einführung
In diesem Dokument wird beschrieben, wie ein Docker-Container hinter einem Proxyserver behoben wird, wenn er nicht auf das Internet zugreifen kann.
Voraussetzungen
Anforderungen
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
- Linux-Schnittstelle
- Umgebungen virtueller Systeme
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf den folgenden Softwareversionen:
- CloudCenter Version 4.x
- CloudCenter Orchestrator (CCO)
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Hintergrundinformationen
Wenn Ihr Unternehmen Proxy für den Zugriff auf das Internet benötigt, müssen Sie den Docker-Container konfigurieren.
Problem
Dies ist die Prozedur, um das Problem zu reproduzieren, wenn der Docker-Container nicht auf das Internet zugreifen kann.
Wenn der Stammbenutzer versucht, die Datei core_installer.bin auf dem CCO auszuführen:
[root@localhost tmp]# ./core_installer.bin centos7 vmware cco
Dieser Fehler wird angezeigt:
Lösung
Schritt 1: Führen Sie die Datei core_installer.bin mit diesen Argumenten aus, um den Kernordner zu erstellen.
[root@localhost]# /core_installer.bin --noexec --keep
Schritt 2: Navigieren Sie zum Hauptordner.
[root@localhost]# cd core
Schritt 3: Führen Sie im Core-Ordner das Skript setup.sh aus, um den Docker zu installieren.
[root@localhost core]# /setup.sh centos7 vmware docker
Das Skript schlägt mit dem Fehler "Fehler im Docker" fehl.
Schritt 4: Ändern Sie die Dockerfile.
[root@localhost core]# vi docker/cliqr-container-worker/Dockerfile
Schritt 5: Fügen Sie die Proxyserver-Informationen im ENV-Abschnitt der Dockerfile hinzu.
ENV JAVA_VERSION 1.7.0
ENV http_proxy http://proxy.company.com
ENV https_proxy https://proxy.company.com
Hinweis: Ersetzen Sie proxy.company.com durch die tatsächliche Proxyserver-Adresse.
Schritt 6: Erstellen Sie ein systemd-Drop-in-Verzeichnis für den Docker-Dienst.
[root@localhost core]# mkdir /etc/systemd/system/docker.service.d
Schritt 7: Erstellen Sie die Datei http-proxy.conf.
[root@localhost core]# vi /etc/systemd/system/docker.service.d/http-proxy.conf
Schritt 8: Fügen Sie die Proxyserverinformationen hinzu.
[Service]
Environment="HTTP_PROXY=http://proxy.company.com"
Environment="HTTPS_PROXY=https://proxy.company.com"
Environment="NO_PROXY=localhost,127.0.0.1"
Schritt 9: Wenn Sie über interne Docker-Registrierungen verfügen, die Sie ohne Proxying kontaktieren müssen, fügen Sie diese in die NO_PROXY-Umgebungsvariable hinzu:
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"
Hinweis: Ersetzen Sie proxy.company.com durch die tatsächliche Proxyserver-Adresse.
Schritt 10: Speichern Sie die Konfigurationsdatei, und laden Sie den Docker-Dienst neu.
[root@localhost]# systemctl daemon-reload
[root@localhost]# systemctl restart docker
Schritt 11: Mithilfe dieser Befehle können Sie Mitarbeiter auf das neueste Image erstellen.
[root@localhost]# cd /tmp/core/docker/cliqr-container-worker
[root@localhost cliqr-container-worker]# docker build -t 'cliqr/worker:latest' .
Schritt 12: Starten Sie den Docker-Dienst neu.
[root@localhost]# systemctl restart docker
Schritt 13: Überprüfen Sie, ob der Dockingcontainer konfiguriert ist.
[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]#
Sobald der Docker-Container konfiguriert ist, müssen Sie die Installation von core_installer.bin fortsetzen (wenn Sie CCO installieren).
Schritt 14: Ändern Sie die Datei cliqr_modules.conf.
[root@localhost core]# vi /etc/cliqr_modules.conf
Schritt 15: Fügen Sie Docker am Ende der Datei hinzu. Dies weist den core_installer.bin an, dass Docker installiert ist.
sysupdate
gateway
ntp
jdk8
tomcat8
gwtomcatapr
gwmongodb
docker
Schritt 16: Führen Sie die Datei core_installer.bin erneut aus, um die Installation abzuschließen.
[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]