web-dev-qa-db-ja.com

Dockerがディレクトリの変更を更新しない

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メソッドを試しましたが、結果は同じでした。

変更を反映するには、イメージを再構築する必要がありました。

したがって、イメージを再構築せずに変更を反映する正しい方法があります。

6
Rohit Singh

コピーステートメントを削除し、独自のパスで以下を貼り付けます。ADDはグローバル変数ADD/Host/path/container/pathもサポートします。

0