最近、Centos 7ベースのマシンを更新しました。そして以来、私はドッカーのいずれも起動できません。誰かがこの問題の経験がありますか?はいの場合、どのように修正しましたか?貴重なご協力ありがとうございます。エラーログの下
docker run -it centos6_labs_ompi161_devtools3/usr/bin/docker-current:デーモンからのエラー応答:シムエラー:docker-runcがシステムにインストールされていません。
Docker rpmは、最終的にシンボリックリンクをいくつか逃したようです。私に指摘されたように、この問題は次のように提起されました。
https://access.redhat.com/solutions/2876431
これは次の方法で簡単に修正できます。
cd /usr/libexec/docker/
Sudo ln -s docker-runc-current docker-runc
トップアンサーを参照して、/ usr/binにsymリンクを導入して、グローバルパスで有効にします
Sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
これはかなり古い質問であることを知っています。ただし、これは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
これが他の人の助けになることを願っています!
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"
}
または、コマンドラインでこの設定を使用します。
これを試してください
シムエラーのエラー:docker-runcがシステムにインストールされていません
cd /usr/libexec/docker/
cp docker-runc-current /usr/bin/docker-runc