最近の開発環境はとても親切になっていて、コードの補完とか、良くないコードの指摘とか、もはや君が書いてくれたらいいんじゃない?と言いたくなるくらいいろんな機能が充実してきている。
順調に飼いならされているぼくは、いろんなツールに叱ってもらいながらコードを書くのが当たり前になっていて、そうすると、叱ってくれない箇所があるとむしろ不安になってしまう。
そんなわけで不安になるものの一つがDockerのファイルで、dockerfileとかはベストプラクティスがあるんだから、それに沿って書き方チェックしてくれたらいいのになーと思っていた。
そしたら、そういうのがあることを教えてもらった。
雑に書いたdockerfileやdocker-compose.ymlを添削してくれるサービスがほしい
— ナガモト@Glideエンジニア (@ngmt83) August 26, 2019
lint?もしかしてと思ったらありました!https://t.co/oQqFRTYtI4
— ナガモト@Glideエンジニア (@ngmt83) August 26, 2019
これは使ってみるしかない。すでに何人もの人が試していて日本語の記述もいっぱいあるので、ここではぼくの普段使っている環境 VSCode + CentOS での手順をメモ。
公式サイトによると、
You can download prebuilt binaries for OSX, Windows and Linux from the latest release page.
ということなので、リリースページからダウンロードしてきたファイルをそのまま実行するのがいいらしい。
apt-getで入れないと不安になっちゃうけど、まあ新しいツールはそんなもんよね
[ ~]$ cd /usr/local/bin/
[ /usr/local/bin]$ sudo curl -L -O https://github.com/hadolint/hadolint/releases/download/v1.17.1/hadolint-Linux-x86_64
[sudo] daisuke のパスワード:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 611 0 611 0 0 1615 0 --:--:-- --:--:-- --:--:-- 1616
100 3216k 100 3216k 0 0 598k 0 0:00:05 0:00:05 --:--:-- 678k
[ /usr/local/bin]$ sudo chmod +x hadolint-Linux-x86_64
試しに実行してみる
[ /usr/local/bin]$ hadolint-Linux-x86_64 ~/develop/dengen_map/docker/front/Dockerfile
/home/daisuke/develop/dengen_map/docker/front/Dockerfile:3 DL3008 Pin versions in apt get install. Instead of `apt-get install <package>` use `apt-get install <package>=<version>`
/home/daisuke/develop/dengen_map/docker/front/Dockerfile:3 DL3015 Avoid additional packages by specifying `--no-install-recommends`
叱ってもらえる!
VSCodeには、hadolint というプラグインが用意されている。これをインストールして、設定画面からhadolintのパスを設定する
そうすると、つぎからDockerfileを編集したときに、こんなふうに叱ってもらえるようになる!幸せ!もっと叱って!
いまのところ、docker-compose.ymlまでは見てくれないらしい。構文チェックだけでもやってくれるツールがほしいなあ。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント