millis() is the number of milliseconds since the program started so will get to 2000 in 2 seconds and remain greater than 2000 for the next 49 days so your program will not work as it is.
What you need to do is to save the time of the button press from millis() then each time through loop() check whether the current millis() value is 2000 greater than it was when the button was pressed.
Have you seen the BlinkWithoutDelay example in the IDE ?
You need code that is something like this - I always think it seems counter-intuitive
if (button is not pressed) {
lastMillis = millis(); // restart the time value
}
if (millis() - lastMillis >= interval) {
// time has elapsed without the button being released
}