[ 잘못된 케이스 ]
mongoose.connect(
'mongodb://localhost:27017/swfavorites',
{ useNewUrlParser: true },
(err) => {
if (err) {
console.log(err);
} else {
app.listen(3000);
}
}
);
[ 올바른 케이스 ]
mongoose.connect(
'mongodb://host.docker.internal:27017/swfavorites',
{ useNewUrlParser: true },
(err) => {
if (err) {
console.log(err);
} else {
app.listen(3000);
}
}
);
Docker Network 기능을 사용하지 않는 경우
docker run -d --name mongodb mongo
mongoose.connect(
'mongodb://172.17.0.2:27017/swfavorites',
{ useNewUrlParser: true },
(err) => {
if (err) {
console.log(err);
} else {
app.listen(3000);
}
}
);
docker build -t favorites-node .
docker run --name favorites -d --rm -p 4000:3000 favorites-node
Docker Network 기능을 사용하는 경우
Volume과 달리, Network는 자동으로 생성되지 않음
해당 기능 덕분에,
다중 Container은 동일한 네트워크에 존재 가능하게 됨
docker network create favorites-net
docker run -d --name mongodb --network favorites-net mongo
mongoose.connect(
'mongodb://mongodb:27017/swfavorites',
{ useNewUrlParser: true },
(err) => {
if (err) {
console.log(err);
} else {
app.listen(3000);
}
}
);
docker build -t favorites-node .
docker run --name favorites -d --rm -p 4000:3000 --network favorites-net favorites-node
docker container prune
docker network create [network name]