Kaggleのタイタニック問題は、機械学習の基礎として面白いので、それを活用し、かつ、技術書典の2冊で学んだことも生かして、アプリを作ってみましょう。
環境のイメージ
たどり着けるかわかりませんが、ゴールのイメージとしては、下記のようになります。
- ローカルにDockerでNuxt.jsのWebアプリ環境
- Jupyter Notebookで機械学習環境を作り、responder のAPIサービス環境はDockerで
- Dockerプライベートでレジストリとして、GitLab Container Registry
- プライベートレジストリからAzure App Service に公開
DockerによるNuxt環境構築
今回フォルダ構成はこのようにしています。
titanic
-app
--docker-compose.yml
--client
---Dockerfile
--server
---Dockerfile
参考にさせていただいたのはこちら。
Nuxt.jsの動作環境をdockerで作る
https://qiita.com/FrozenVoice/items/2ae89ce820cade84924e
若干新しいバージョンに変更しました。
client/Dockerfile
FROM node:12.1.0-alpine
RUN mkdir /app
WORKDIR /app
RUN npm install -g vue-cli
ENV HOST 0.0.0.0
EXPOSE 3000
docker-compose.yml
version: '3'
services:
app:
build: ./client
volumes:
- ./client:/app
ports:
- "3000:3000"
tty: true
$ docker-compose build
$ docker-compose up -d
$ docker-compose exec app sh
実はここに至るまでも苦労しましたが、これでDocker環境に入れました!
そして、環境内でnuxtを入れますが、これは、下記を参照に、TypeScript構成を最初から作ります。
Nuxt.js + TypeScript + Sass + ESLint 事始め
https://qiita.com/ryota-yamamoto/items/4b06ef51926df1bdbae8
# vue init nuxt-community/typescript-template titanic-client
# cd titanic-client
# yarn install
# yarn run dev
無事起動しました!(変な画面・・・)