目录

简介

先决条件

要求

使用的组件

背景信息

问题

解决方案

简介

本文档介绍如何在代理服务器无法访问Internet时对Docker容器进行故障排除。

先决条件

要求

Cisco 建议您了解以下主题：

- Linux界面

- 虚拟机环境

使用的组件

本文档中的信息基于以下软件版本：

- CloudCenter版本4.x

- CloudCenter Orchestrator(CCO)

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

背景信息

如果企业需要代理才能访问Internet，则必须配置docker容器。

问题

这是当Docker容器无法访问Internet时重现问题的过程。

当根用户尝试在CCO上运行core_installer.bin时：

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

此错误将显示：

解决方案

步骤1.使用这些参数运行core_installer.bin文件以创建核心文件夹。

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

步骤2.导航至核心文件夹。

[root@localhost]# cd core

步骤3.从核心文件夹运行setup.sh脚本以安装docker。

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

脚本失败，出现此错误“Failed in Docker”。

步骤4.修改Dockerfile。

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

步骤5.在Dockerfile的ENV部分添加代理服务器信息。

ENV JAVA_VERSION 1.7.0

ENV http_proxy http://proxy.company.com

ENV https_proxy https://proxy.company.com

注意：用实际的代理服务器地址替换proxy.company.com。

步骤6.为docker服务创建一个systemd下拉目录。

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

步骤7.创建docker http-proxy.conf文件。

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

步骤8.添加代理服务器信息。

[Service]

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

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

Environment="NO_PROXY=localhost,127.0.0.1"

步骤9.如果您有内部Docker注册表需要在不代理的情况下进行联系，请将其添加到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"

注意：用实际的代理服务器地址替换proxy.company.com。

步骤10.保存配置文件并重新加载docker服务。

[root@localhost]# systemctl daemon-reload

[root@localhost]# systemctl restart docker

步骤11.借助这些命令，将工作人员构建到最新映像。

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

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

步骤12.重新启动docker服务。

[root@localhost]# systemctl restart docker

步骤13.测试是否配置了docker容器。

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

配置Docker容器后，您需要从core_installer.bin（如果要安装CCO）继续安装。

步骤14.修改cliqr_modules.conf。

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

步骤15.在文件末尾添加docker。这会告诉core_installer.bin已安装docker。

sysupdate

gateway

ntp

jdk8

tomcat8

gwtomcatapr

gwmongodb

docker

步骤16.重新运行core_installer.bin以完成安装。

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