Linux Docker systemctlコマンドでは使用できないソリューション
885 ワード
Linux Dockertext{Linux Docker}Linux Dockerでsystemd(systemctl)text{systemd}systemd(systemctl)}systemd(systemctl)関連コマンドを使用できないのは、0 0番プロセスがinittext{init}initではなく、他の例えば/bin/bashtext{/bin/bash}/bin/bashであるため、関連ファイルが欠けて実行できないためだという.
具体的な解決策は、inittext{init}initによってバックグラウンドでdockertext{docker}dockerコンテナを実行し、exectext{exec}execによってコンテナに入ることですが、システムによってinittext{init}initプログラムのパスが異なることに注意してください.
例えばCentOS 7text{CentOS 7}CentOS 7、
例えばUbuntu 16.04text{Ubuntu 16.04}Ubuntu 16.04、
最初のコマンドは、inittext{init}initバックグラウンドでdockertext{docker}dockerコンテナを起動する以外は、–privilaged=truetext{--privilaged=true}–privilaged=trueが必要です.
具体的な解決策は、inittext{init}initによってバックグラウンドでdockertext{docker}dockerコンテナを実行し、exectext{exec}execによってコンテナに入ることですが、システムによってinittext{init}initプログラムのパスが異なることに注意してください.
例えばCentOS 7text{CentOS 7}CentOS 7、
docker run -tid --name test_1 --privilaged=true centos:latest /usr/sbin/init
docker exec -it test_1 /bin/bash
例えばUbuntu 16.04text{Ubuntu 16.04}Ubuntu 16.04、
docker run -tid --name test_2 --privileged=true ubuntu:16.04 /sbin/init
docker exec -it test_2 /bin/bash
最初のコマンドは、inittext{init}initバックグラウンドでdockertext{docker}dockerコンテナを起動する以外は、–privilaged=truetext{--privilaged=true}–privilaged=trueが必要です.