The 39-year-old, who acted as caretaker manager following John Ward's departure last week, has been appointed as the permanent coach at the League One side.
Chairman Robbie Cowling told the club's official website: "It was not an easy decision to part company with John Ward because he had worked so hard to achieve so much for Colchester United Football Club.
"However, it was an easy choice when it came to selecting John's successor. Joe has been with Colchester United for 16 years as a player, youth team manager, reserve manager, assistant manager, caretaker manager and now he is first team manager.
"Joe takes charge of Colchester United when the club's long-term prospects are the best they have ever been but at a time when the short term future is one of its most challenging."
Dunne has worked within the club for 16 years.