nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

OpenShift上でネットワークサービスを提供しないイメージでコマンドを実行する

OpenShiftにデプロイするイメージは通常、EXPOSEENTRYPOINT/CMDが定義されている、ネットワークサービスを提供するイメージです。これらが定義されていないイメージは正常に起動していないとみなされ、動作しません。

例えば、以下のようなDockerコマンドは一見OpenShift上では実行できないように思えます。

docker run -it centos bash

実際にはこのようなコマンドを実行する方法があります。

oc run --restart=Never --attach --stdin --tty --image centos centos bash

イメージ名は--imageで指定します。続くパラメータはpod名とコマンド部です。コマンド部は通常のDockerと同一で、CMDが指定されているイメージであればコマンド上書き、ENTRYPOINTが指定されているイメージであればエントリポイントのコマンドのパラメータとなります。