Help us understand the problem. What is going on with this article?

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にインストールしちゃうので、欲しい子たちはソースからビルドする事にする。

masato_t
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away