前提・実現したいこと
docker-composeを使い、nodeのexpressでサーバーを立ち上げたいです
該当のソースコード
docker-compose.yml
version: '3.3' services: websever: build: . ports: - "3000:3000"
Docker file
FROM node RUN npm install express EXPOSE 3000 CMD node app.js
app.js
var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World!'); }); app.listen(3000, function () { console.log('Example app listening on port 3000!'); });
実行結果
$ docker-compose up --build Building websever Step 1/4 : FROM node ---> f697cb5f31f8 Step 2/4 : RUN npm install express ---> Using cache ---> 809cd53e1f07 Step 3/4 : EXPOSE 3000 ---> Using cache ---> 20255fead914 Step 4/4 : CMD node app.js ---> Using cache ---> f376e9e76522 Successfully built f376e9e76522 Successfully tagged sample_websever:latest Starting sample_websever_1 ... done Attaching to sample_websever_1 websever_1 | internal/modules/cjs/loader.js:573 websever_1 | throw err; websever_1 | ^ websever_1 | websever_1 | Error: Cannot find module '/app.js' websever_1 | at Function.Module._resolveFilename (internal/modules/cjs/loader.js:571:15) websever_1 | at Function.Module._load (internal/modules/cjs/loader.js:497:25) websever_1 | at Function.Module.runMain (internal/modules/cjs/loader.js:719:10) websever_1 | at startup (internal/bootstrap/node.js:228:19) websever_1 | at bootstrapNodeJSCore (internal/bootstrap/node.js:576:3) sample_websever_1 exited with code 1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。