web-dev-qa-db-ja.com

Docker MACVLANはアウトバウンドでのみ機能します

DockerコンテナーのMACVLANをセットアップしようとしています。 RaspbianとDockerを新しくインストールし、Dockerのドキュメントに記載されている手順に従ってMACVLANを作成しました: https://docs.docker.com/network/network-tutorial-macvlan

ネットワークは次のようになります。

[
    {
        "Name": "pub_net",
        "Id": "782c49f79f549b11f04a6df98b8b2cbf52deef072e036306231309e44a1c9f3a",
        "Created": "2020-02-25T14:44:12.105402396+01:00",
        "Scope": "local",
        "Driver": "macvlan",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.178.0/24",
                    "Gateway": "192.168.178.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "682a47a60a5478d19b8c6fc923e11c949f70c5c07fe4dc8d94a772524c2820a1": {
                "Name": "IoBroker",
                "EndpointID": "5e7068dd9330792a91e1f1f023bd052d91d1fa93f50a2eb670ef8be81b61587f",
                "MacAddress": "02:42:c0:a8:b2:02",
                "IPv4Address": "192.168.178.2/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "parent": "eth0"
        },
        "Labels": {}
    }

そのネットワークに接続されているAlpineコンテナーがあるとします。コンテナ内から、インターネットやネットワーク上のすべてに問題なくアクセスできます。ただし、外部からMACVLAN内のコンテナーにアクセスできません。これは通常ホストからは機能しないことはわかっていますが、ホストからではなく、ネットワーク上の別のマシンからコンテナーにアクセスしようとしています。コンテナのIPは外部から到達できません。

ホストがMACVLAN上のコンテナーにアクセスできるようにする手順(別のMACVLANを作成してルーティングテーブルエントリを追加する)を実行すると、ホストからはコンテナーにアクセスできますが、外部からはアクセスできません。

たぶん、これはDockerの問題よりもLinuxのネットワークの問題のほうが多いのでしょうか。

Dockerバージョン:19.03.6 OS:Raspbian Buster 10、カーネルバージョン4.19.97-v7 +

アイデアをいただければ幸いです。

4
Christian

同じ問題があるので、問題の小さな回避策があります。

私はomv 5のクリーンインストールを行いました。

Sudo rpi-update 20354bebcc2a8448128f2348e19e155910d25122

「rpi-update」コマンドの後の文字列(ハッシュ)は、ARPの問題を修正する最新の4.19.118カーネルです。

Dockerのインストールの問題が解決された後、5.Xカーネルにアップデートするのを待ちます。

0
user13626683

私はまったく同じ問題を抱えています。 rpi-updateを使用して5.4カーネルに更新してみましたが、dockerをインストールできません(rpi-updateの後に機能しなくなりました)。どのようにdockerをインストールしましたか? Raspbianのクリーンインストールに続いてrpi-updateを試し、Dockerのインストールを試みましたが、まだうまくいきません。

Setting up docker-ce (5:19.03.9~3-0~raspbian-buster) ...
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "start" failed.
docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Tue 2020-05-19 21:42:58 BST; 21ms ago
     Docs: https://docs.docker.com
  Process: 2740 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 2740 (code=exited, status=1/FAILURE)
dpkg: error processing package docker-ce (--configure):
 installed docker-ce package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)
0
Revin Kevin