さっきの記事を書いて面倒だなと思ったので、ローカルの開発時は docker-compose
を使えば楽かなと思ってやってみた。
1
2
3
4
5
6
7
|
version: "3"
services:
webapp:
build: .
command: carton exec -- morbo myapp.pl
ports:
- 3000:3000
|
このファイルからみると、 myapp.pl
の場所が違うので直感的ではないけれど、 COPY
で .git
までコピーされているのを見ると、アプリに必要なファイルだけをコピーするのが良いんじゃないか、と思った次第。
1
2
3
4
5
6
|
$ docker-compose up
Creating network "serenelake43934_default" with the default driver
Creating serenelake43934_webapp_1 ...
Creating serenelake43934_webapp_1 ... done
Attaching to serenelake43934_webapp_1
webapp_1 | Server available at http://127.0.0.1:3000
|
感想
楽だった。
多くのコンテナを使うようなものじゃなくても、 Dockerfile
を上書きするように使えるのは便利。
docker build
する度に、タグを入れるのは面倒だし、そうでなくても docker images
で <none>
がたくさん生成されるのを見ると色々と正しく指定しなければいけないのかなと思ってくる。
まあ、一段落したら、全部止めて要らなさそうなやつは消しておくようにはしてます。
1
2
|
$ docker ps -a -q | xargs docker stop
$ docker image prune
|