목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

문제

솔루션

소개

이 문서에서는 프록시 서버에서 인터넷에 액세스할 수 없을 때 도커 컨테이너를 해결하는 방법에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- Linux 인터페이스

- 가상 머신 환경

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.

- CloudCenter 버전 4.x

- CCO(CloudCenter Orchestrator)

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

엔터프라이즈에서 인터넷에 액세스하기 위해 프록시가 필요한 경우 docker 컨테이너를 구성해야 합니다.

문제

이것은 Docker 컨테이너가 인터넷에 연결할 수 없을 때 문제를 재현하는 절차입니다.

루트 사용자가 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 서비스에 대한 시스템 드롭다운 디렉터리를 만듭니다.

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