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 ~~~ 省略 ~~~
〇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は無視されます。