web-dev-qa-db-ja.com

docker-runcがシステムにインストールされていません

最近、Centos 7ベースのマシンを更新しました。そして以来、私はドッカーのいずれも起動できません。誰かがこの問題の経験がありますか?はいの場合、どのように修正しましたか?貴重なご協力ありがとうございます。エラーログの下

docker run -it centos6_labs_ompi161_devtools3/usr/bin/docker-current:デーモンからのエラー応答:シムエラー:docker-runcがシステムにインストールされていません。

14
Nabil Ghodbane

Docker rpmは、最終的にシンボリックリンクをいくつか逃したようです。私に指摘されたように、この問題は次のように提起されました。

https://access.redhat.com/solutions/2876431

これは次の方法で簡単に修正できます。

cd /usr/libexec/docker/
Sudo ln -s docker-runc-current docker-runc 
22
Nabil Ghodbane

トップアンサーを参照して、/ usr/binにsymリンクを導入して、グローバルパスで有効にします

Sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
17
John Tee

これはかなり古い質問であることを知っています。ただし、これはCentOS-ExtrasドッカーからDocker独自のdocker-ce rpmに更新したときに発生しました。 /usr/lib/systemd/system/docker.serviceにあるサービスファイルには、ExecStart行に次の行がハードコーディングされていました。

--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \

デフォルトでは、docker-ceパッケージには同じ行セットが含まれておらず、ファイルパスは異なります。アップグレード後、次を追加し、コンテナは期待どおりにデータが失われることなく開始コマンドを尊重しました。

 --add-runtime docker-runc=/usr/bin/docker-runc \
    --default-runtime=docker-runc \
    --exec-opt native.cgroupdriver=systemd \
    --userland-proxy-path=/usr/bin/docker-proxy

これが他の人の助けになることを願っています!

3
billabongrob

Nabil Ghodbaneの方法を試しましたが、うまくいきませんでした。 billabongrobの回答のおかげで、この問題を解決する方法を見つけました。このDocker構成ファイルを試すことができます:

$ cat /etc/docker/daemon.json
{
    "log-level":"warn",
    "hosts": ["unix:///var/run/docker.sock","tcp://0.0.0.0:2375"],
    "runtimes": {
        "docker-runc": {
            "path": "/usr/libexec/docker/docker-runc-current"
        }
    },
    "add-runtime": "docker-runc=/usr/libexec/docker/docker-runc-current",
    "default-runtime": "docker-runc"
}

または、コマンドラインでこの設定を使用します。

0
Drawn Yang

これを試してください

シムエラーのエラー:docker-runcがシステムにインストールされていません

cd /usr/libexec/docker/
cp docker-runc-current /usr/bin/docker-runc
0
Ganesh Kumar