BETA

Docker - Dockerでubuntuを動かしてsudoコマンドを入力するとbash: sudo: command not foundと怒られる

投稿日:2018-12-22
最終更新:2019-10-24

起こったこと→sudoコマンドが聞かない

MacでDockerイメージのダウンロード・コンテナの起動・イメージの作成・Docker Hubにプッシュするチュートリアル!の記事で作成したイメージからコンテナを起動させて、色々作業したのちにシャットダウンしようとすると「そんなコマンドないよ!」と怒られました!

  • シャットダウンしようとすると「そんなコマンドないよ!」と怒られる
    $ sudo shutdown -h now  
    bash: sudo: command not found  
  • whichコマンドでも反応なし
    $ which sudo  
    $  

whichコマンドはPATHが通っていればフルパスを表示するコマンドなので、sudoがインストールされていない・パスが通っていない、などの原因が考えられます。

PATHはecho $PATHenv | grep PATHで表示できます。

$ env | grep PATH  
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  

対策:sudoコマンドのインストール

参考:[解決] bash: sudo: command not found

まずaptでsudoコマンドをインストールしてみます。

$ apt update  

$ apt install -y sudo  

# コマンドがインストールされた!!  
$ which sudo  
/usr/bin/sudo  

それでも怒られる時の対策

今回はsudoコマンドがインストールされていなかっただけですが、

  • パスが通っていない
  • sudoers の env_reset オプションが有効になっている場合

などの理由でコマンドが効かないこともあります。

そういう時は以下を参考にすると幸せになれるかもしれません。

sudo「コマンドが見つかりません」PATHが初期化されているときの対処法

sudo時にPATHを引き継ぐ方法

お疲れ様でした!!

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

Python (Django)・JavaScript(Vue.js)・GISについて書いていきます。 たまにちゃんとした記事も書きますが、基本的には自分用のメモを残していきます

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!