フロントの勉強としてVue.jsの開発環境を整備するときに、せっかくなのでDockerを使って環境を構築してみました。
今回は勉強がてらdocker-composeを利用します。とは言っても「書くよ!」ってだけで複雑なことは全然やってないです。
FROM node:lts-alpine
WORKDIR /app
RUN apk update && \
npm install -g npm @vue/cliただし、現時点(2019年7月3日)でVisual Studio CodeのRemoteはAlpine Linuxに対応していないので、Remoteを利用したい場合は別のイメージを使った方がいいと思われます(1敗)。以前記事にしていたので「Vue.jsの環境もリモートで開発だぁ!」とか思ってたんですけど出鼻をくじかれました。
なお、Alpine LinuxはVS Code Insidersではサポートされているため、そのうち正式対応するはずなので正座して待機しようと思います。
vscodeのバージョン1.38にてAlpine Linux製コンテナへRemote接続できるようになりました!

version: '3'
services:
vue_app:
build: .
ports:
- 1234:8080
volumes:
- .:/app
stdin_open: true
tty: true
command: /bin/shdocker-compose builddocker-compose up -ddocker psコマンドを叩くとコンテナーが起動しているはず。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9fcc61e05285 dockapp_vue_app "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:9000->9000/tcp dockapp_vue_app_1docker exec vue_app shコンテナーに入るとプロンプトが変わるので、vueコマンドを叩いてプロジェクトを作成します。
vue create vue_app3系のvue cliをインストールしているのでcreateを利用します(2.x系だとinit webpack hogeだった)。とくにこだわりがなければエンターを連打。しばらくすると・・・
Successfully created project vue_app.
Get started with the following commands:
$ cd vue_app
$ npm run serveとなり、準備完了です。
コンテナー上でフォルダを移動してnpm runします。
cd vue_app
npm run serve正常に起動したらhttp://localhost:1234/にアクセスする。

上記のようなページが表示されたら環境構築は完了です。
Pythonに引き続き、Vue.jsもDockerで環境構築してみましたが、ローカルを汚さない・いざとなったら潰して新しく作ればいいってのはホントに気軽でいいですね。あとはコーディングするだけです(血涙