通常の使い方であれば不可能と思われます。
コンテナ内の接続がattachもしくはexecによる、プロセス空間の共有という意味であれば、Dockerのドキュメント内では、そのような事が行える記述はありません。また、イメージ上なりDockerfileでも、そのような定義はできません。
ただし、目指していることがコンテナ内(のプロセス空間内)でコマンドを実行したくない、という意味であれば、シェルとして実行可能なバイナリを削除するなどして、当面は対処可能かもしれません。
当面はと書いたのは、Dockerイメージとして配布されている状態であれば、誰かがそのイメージを元に、新しいイメージの作成(commit)が可能なためです。何らかの仕組みにより、一時的にコマンドを実行させない環境を作れたとしても、その環境は上書き可能なためです。
一方、最終的に何をしたいかによりますが、コンテナ間はお互いが見えませんので、一部ユーザに特定のコンテナに対するプロセス空間の共有(例えばsshdを通すなど)が可能であれば、対象のコンテナに対するログインを防げるというような工夫の余地は考えられます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/29 02:54