Dockerを初めて使用し、ノードサーバーをテストしようとしています
Dockerfile
FROM node:8
WORKDIR /home/test-ci-node
COPY . .
EXPOSE 8080
CMD [ "node", "server.js" ]
server.js
var http = require('http');
//create a server object:
http.createServer(function (req, res) {
console.log("got req");
res.write('Hello World'); //write a response to the client
res.end(); //end the response
}).listen(8080); //the server object listens on port 8080
console.log("listining at 8080");
そして私はコマンドでDockerイメージを開始しました
docker run -p 8080:8080 -d docker_img
今server.js私は応答をに変更しました
res.write( 'Hello Worldが変更されました!');
次に、コンテナを再起動しようとしましたが、変更が反映されませんでした。いくつかのgoogleメソッドを試しましたが、結果は同じでした。
変更を反映するには、イメージを再構築する必要がありました。
したがって、イメージを再構築せずに変更を反映する正しい方法があります。
コピーステートメントを削除し、独自のパスで以下を貼り付けます。ADDはグローバル変数ADD/Host/path/container/pathもサポートします。