目次

コマンド実行

コマンド形式

run [-e KEY=VALUE] <app> <cmd>
 
-e, --env   : 環境変数を設定する

実行例

〇例1

コマンド

dokku run ruby-getting-started ls -lah

出力結果

total 108K
drwxr-xr-x 1 herokuishuser herokuishuser 4.0K Sep 13 19:36 .
drwxr-xr-x 1 root          root          4.0K Sep 16 09:14 ..
drwxr-xr-x 8 herokuishuser herokuishuser 4.0K Sep 13 19:33 app
-rw-r--r-- 1 herokuishuser herokuishuser  281 Sep 13 19:33 app.json
drwxr-xr-x 2 herokuishuser herokuishuser 4.0K Sep 13 19:36 bin
drwxr-xr-x 2 herokuishuser herokuishuser 4.0K Sep 13 19:33 .bundle
drwxr-xr-x 5 herokuishuser herokuishuser 4.0K Sep 13 19:33 config
-rw-r--r-- 1 herokuishuser herokuishuser  154 Sep 13 19:33 config.ru
drwxr-xr-x 3 herokuishuser herokuishuser 4.0K Sep 13 19:33 db

~~~ 省略 ~~~

〇例2

コマンド

dokku run --env "PATH=/usr/sbin:/usr/bin:/sbin:/bin" --env "NODE_ENV=development" ruby-getting-started env

出力結果

USER=herokuishuser
DOKKU_POSTGRES_RAILSDATABASE_PORT_5432_TCP=tcp://172.17.0.2:5432
DOKKU_POSTGRES_RAILSDATABASE_ENV_POSTGRES_PASSWORD=bdcf4d9a0a973402d6736c8d423f6435
DOKKU_POSTGRES_RAILSDATABASE_PORT_5432_TCP_PROTO=tcp
RACK_ENV=production
DOKKU_APP_TYPE=herokuish
DOKKU_POSTGRES_RAILSDATABASE_ENV_PG_VERSION=11.4-1.pgdg90+1
DYNO=run.6139
PATH=/app/bin:/app/vendor/bundle/bin:/app/vendor/bundle/ruby/2.4.0/bin:/usr/sbin:/usr/bin:/sbin:/bin

~~~ 省略 ~~~

TIP

〇Procfileに定義したコマンドを実行できます。

Procfile

console: bundle exec racksh

コマンド

# bundle exec rackshが実行される。
dokku run my-app console

〇コマンド実行後、コンテナを削除したい場合

# コマンド実行後、コンテナを削除
dokku config:set --global DOKKU_RM_CONTAINER=1
 
# コンテナを保持する設定に戻す
dokku config:unset --global DOKKU_RM_CONTAINER

また以下の方法でも指定可能です。

# コマンド実行後、コンテナを削除
dokku --rm-container run node-js-app ls -lah
 
# コンテナを保持する設定に戻す
dokku --rm run node-js-app ls -lah

〇detachモードで起動
detachモードで起動すると、すぐにCONTAINER_IDが返却されます。
detachモードではコンテナは自動的に終了しないため、ユーザが適切な方法で管理する必要があります。

dokku --detach run node-js-app ls -lah

コンテナをdetachモードで実行する場合、–rm-containerや–rmフラグを使用することは出来ません。
これらのオプションが指定された場合、–detachは無視されます。