Posted at

herokuでdocker使うときに躓いたポイント

More than 3 years have passed since last update.

docker使ってherokuにでぷろーいしようとして詰まったところを備忘録る


起きてた問題

heroku docker:init

して、Dockerfileを色々書いてローカルでは正しく動いてたのにheroku上ではコケた!

コンソールを見ると、apt-get installしといたはずの子が見つからないと言う…


解決方法

インストール先は/app以下にする。

そう、それだけ。


問題のポイント

これは、herokuの仕様によるものでした。

dockerだからと言って、好き勝手に環境いじり倒せるかと言ったらそういう訳じゃなかったそうです。

詳しくは、公式のドキュメントを見ると良いのですが重要なポイントを掻い摘むと…


Modifying the Dockerfile

This is because the slugs created from the Docker container must conform to the Heroku slug format:

FROM heroku:cedar:14

changes localized to the /app directory


つまり、heroku/cedar/14のイメージを使って、環境に変更を加える様な事をするときは

/app
以下でやってね!

ということでした。

ということは、状況はheroku & gitの開発の時と同じ感じということか…

ということで、/app/binと/app/source

みたいにディレクトリ切って、/app/binに独自に導入したいものを置くのが良さそう。

apt-getは/usr/binにインストールしちゃうので、欲しい子たちはソースからビルドする事にする。