GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

CentOS / RHEL / Fedora での Docker Search コマンド エラー – “getsockopt:no route to host” の解決方法

問題

docker リポジトリで docker イメージを検索しようとすると、以下のエラーが返されます:

# docker search centos
Error response from daemon: Get https://index.docker.io/v1/search?q=oracle%2A: dial tcp 52.72.231.247:443: getsockopt: no route to host

Docker のエンジンは正常に動作しています。

# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-11-18 06:37:54 UTC; 4min 54s ago
     Docs: https://docs.docker.com
 Main PID: 1109 (dockerd)
   Memory: 72.6M
   CGroup: /system.slice/docker.service
           ├─1109 /usr/bin/dockerd
           └─1127 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/...

また、SELinux は許可モードに設定され、iptables は Docker トラフィックを持つことが許可されます。

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  --  anywhere             anywhere            
DOCKER-ISOLATION  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Chain DOCKER (1 references)
target     prot opt source               destination         
Chain DOCKER-ISOLATION (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            
Chain DOCKER-USER (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere
# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Docker のプロキシを有効にする

Docker ノードが Docker ハブと通信するには、プロキシを有効にする必要があります。これは、ファイアウォールの下に環境がある場合に必要です。これを行うには 2 つの方法があります。

方法 1

1. Web プロキシ ネットワーク オプションを構成するには、ドロップイン ファイル /etc/systemd/system/docker.service.d/http-proxy.conf を作成します。 次の行を含む:

# vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=proxy_URL:port"
Environment="HTTPS_PROXY=proxy_URL:port"

2. proxy_URL と port を、Web プロキシの適切な URL とポート番号に置き換えます。

方法 2

1. /etc/sysconfig/docker ファイルを開きます 任意のエディターを使用して、以下の 2 つのエントリを追加します。

# vi /etc/sysconfig/docker
HTTP_PROXY="http://[proxy_IP].domain.com:80"
HTTPS_PROXY="http://http://[proxy_IP].domain.com:80"

2. 完了したら、docker サービスの開始/停止

# systemctl stop docker
# systemctl start docker


Docker
  1. CentOS、RHEL、Fedoraでユーザーを追加および削除する方法

  2. CentOS/RHEL/Fedora でプロキシを構成する方法

  3. LVM エラー「WARNING:Inconsistent metadata found」 – CentOS / RHEL での解決方法

  1. Fedora 16、CentOS 6 /RHEL6にGoogleChrome17をインストールする方法

  2. CentOS 7 /RHEL7にDockerをインストールする方法

  3. 「-bash:ファイアウォール:コマンドが見つかりません」 – CentOS/RHEL 7 での解決方法

  1. RHEL 8 /CentOS8にdigをインストールする方法

  2. CentOS / RHEL / Fedora に docker をインストールする方法

  3. CentOS / RHEL で「-bash:xclock:コマンドが見つかりません」というエラーを解決する方法