OpenShift上でネットワークサービスを提供しないイメージでコマンドを実行する
OpenShiftにデプロイするイメージは通常、EXPOSE
とENTRYPOINT
/CMD
が定義されている、ネットワークサービスを提供するイメージです。これらが定義されていないイメージは正常に起動していないとみなされ、動作しません。
例えば、以下のようなDockerコマンドは一見OpenShift上では実行できないように思えます。
docker run -it centos bash
実際にはこのようなコマンドを実行する方法があります。
oc run --restart=Never --attach --stdin --tty --image centos centos bash
イメージ名は--image
で指定します。続くパラメータはpod名とコマンド部です。コマンド部は通常のDockerと同一で、CMD
が指定されているイメージであればコマンド上書き、ENTRYPOINT
が指定されているイメージであればエントリポイントのコマンドのパラメータとなります。