Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2722

Mac OSX 導入したもの備忘録:開発編3 ~Docker活用編~

$
0
0

Dockerをフロントエンド開発でも活用してみる編

リロードの手間はあるが、Node.jsのバージョンに依存せず
複数プロジェクトを構築する手段の一つとして試してみる。

準備

Dockerfile

OSとNode.jsは好きなversionを持ってくる。

TODO:
・rootユーザー以外で実行したい。
・vue-cli以外も対応したい。
・コンテナ内からfirebase開発したい。(デプロイはCIに任せる)

dockerfile
FROM node:12.4.0-alpineWORKDIR /appRUN apk update &&\
    apk add git &&\
    apk add --no-cache curl &&\
    curl -o--L https://yarnpkg.com/install.sh | sh

ENV PATH $HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH# ホットリロードENV CHOKIDAR_USEPOLLING=trueRUN yarn global add @vue/cli

CMD ["/bin/sh"]

docker-compose.yml

docker-compose.yml
version:'3'services:web:build:.ports:-8888:8888volumes:-.:/appstdin_open:truetty:true

ディレクトリ構成

プロジェクトのディレクトリ構成
workspace (任意のディレクトリ vue createコマンドはこのディレクトリで実行)
  └─── my-app (vue create で作られるディレクトリ)
        中略
        ├── package.json
        ├── dockerfile
        ├── docker-compose.yml (下記コマンドはこのファイルがあるディレクトリで実行)
        ...etc

起動

docker-composeでのコンテナ起動
# コンテナをビルド$ docker-compose build

# コンテナを起動$ docker-compose up -d# host OS側からguest OSにログイン$ docker-compose exec web /bin/sh

# guest OS内でlocalhost:8888を起動
/app/vue-project # yarn serve

運用

コンテナの操作
# dev-server 終了
Cmd(Ctrl) + C

# コンテナから抜ける
/app/vue-project # exit# コンテナ停止$ docker-compose stop

# コンテナを破棄$ docker-compose down

Viewing all articles
Browse latest Browse all 2722

Trending Articles