Все очень просто, в докере есть image - это представь себе какбы snapshot виртуальной машины ты можешь его запустить и будет запущенный image, запущенный image это container!
Если просто то вот как это выглядит:
1. Пишешь код
2. Пишешь Dockerfile (Именно твой nodejs сервер app.js который запускает, погугли Dockerfile express.js)
3. Если нужны какие-то вещи например postgres или redis надо обьявить их в docker-compose
4. В docker-compose тебе нужно задать volume чтоб контейнер знал где твой волюм на физической машине
5. Пушишь с обычного компа как обычно