LoginSignup
0
1

More than 3 years have passed since last update.

【docker】Node.jsのコンテナ立ち上げてサンプルアプリを動かしたい

Last updated at Posted at 2021-01-27

この記事の目標

dockerのコンテナ立ち上げて、このアプリ↓をローカル環境で立ち上げる

GitHubからリポジトリcloneする

ローカルの任意のディレクトリにcloneする

$ git clone https://github.com/justadudewhohacks/face-api.js

docker hubからnode.jsのイメージpullしてくる

alpineが軽量でオススメらしいので、v14のをpullする

$ docker pull node:14-alpine

イメージをpullできたことの確認

$ docker images

コンテナ立ち上げる

docker run -it -v $PWD:/workspace -p 8100:3000 --name node-face-api node:14-alpine /bin/ash
  • -itで、コンテナ内で入力可能な状態にする
  • -v $PWD:/workspaceで、カレントディレクトリのファイルをコンテナ内の「workspace」ディレクトリにマウントするように指定
    • そのため、リポジトリをcloneしたディレクトリで作業する必要あり
    • $PWD$(pwd)といった指定方法もありらしい
  • -p 8100:3000で、ホスト側のポート8100とコンテナ側のポート3000を繋ぐ
    • このホスト側のポート番号は空いているものを適宜使う
    • コンテナ側はよしなに設定
    • ポート使用状況はMacの場合「ネットワークユーティリティ」で確認できる
  • --name node-face-apiで、コンテナ名を「node-face-api」に設定
  • node:14-alpineで、イメージとバージョン(TAG?)の指定
  • /bin/ashで、コンテナ内で使うコマンドを指定

今回は使ってないが、以下のオプションもよく使われる

  • --rmで、コンテナから出た時にコンテナ削除

※ちなみに、コマンドの記述順は、以下の通りらしい

$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

起動時にエラーが起こって上手くコンテナに入れなかった場合、以下の手順でコンテナ削除し、
runコマンド見直してから再度試す

# コンテナ一覧表示
$ docker ps -a

# 起動(作成)に失敗したコンテナのIDを指定してコンテナ削除
$ docker rm [CONTAINER ID]

コンテナ内でアプリケーションを立ち上げる

コンテナ作成して中に入ると、ホストのファイル群がworkspaceディレクトリ内にあるはずなので、確認する

$ cd workspace
$ ls

あとは、face-ap.jsのチュートリアル通りに進めていくだけ

$ cd examples/examples-browser
$ npm install
$ npm start

ホストマシンのポートは8100に指定したので、以下にアクセス

それっぽいページが表示されればOK!

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1