Crowds of migrants have scuffled with Croatian police in at least two places along the border with Serbia as they seek to enter the European Union.
They briefly broke through police lines at Tovarnik and Bezdan after hours waiting in full sun.
At least 9,200 migrants have entered Croatia since Hungary closed its border, officials said, blocking the previous land route into the EU.
Croatia's interior minister says the country is "absolutely full".
EU leaders will hold an emergency summit next week to discuss the crisis.
Read more coverage of the migrant crisis
Croatia's president has asked the army to be ready to protect its borders from "the illegal migration", state news agency Hina reported (in Croatian).
Officials say migrants must apply for asylum there or be treated as illegal immigrants.
Under EU regulations, refugees must register and claim asylum in the first member state they reach.
Interior Minister Ranko Ostojic said that Croatia would close its border with Serbia if another 8,000 migrants enter in one day.
Migrants started heading to the Croatian border on Wednesday, after Hungary sealed its southern border with Serbia on Tuesday.
There were chaotic scenes at at least two official border crossings between the two countries on Thursday, after Croatian officials were overwhelmed by the numbers of arrivals.
Correspondents described the situation at the train station at Tovarnik as mayhem earlier in the day, after several thousand migrants who had crossed from Serbia were held back by riot police, trying to get them to wait for transport on from the border.
Croatian police eventually gave way under pressure.
At the scene: Fergal Keane, BBC News, Tovarnik
All morning several thousand people had waited in the heat hoping a train would take them north on their long journey to Germany.
Around midday we saw a group of young men begin to mobilise for a protest.
At first they tried to walk towards Zagreb on the rail line but were turned back by the police. They then walked to the police line on the road next to the station. For about an hour they chanted "let us go" and pressed the police to be allowed through.
Eventually police allowed some women and children to squeeze past their line.
Scenes of chaos followed. Men tried to push through. Children became separated from parents.
The police did not resort to force. There was no use of batons or tear gas. They attempted to push the crowd back but could not prevent a breach.
I saw hundreds pushing through a wire fence and running towards the main road. On the way a man suffered a heart attack.
A combination of angry young men, extraordinary numbers of people and a lack of any coherent plan by the EU has produced scenes of chaos in Europe.
At the northernmost crossing between Croatia and Serbia, the River Danube separates Batina, on the Croatian side of the border, from the Serbian town of Bezdan.
The BBC's Lucy Williamson witnessed thousands of jubilant migrants streaming across the bridge and through the border, into Croatia and the EU.
Many of the migrants said they intended to walk to Slovenia, Croatia's neighbour to the north.
On Thursday evening, Slovenian police said they had stopped a train carrying around 200 refugees at Dobova on the border with Croatia.
Slovenia, like Hungary, is within the borderless Schengen zone. Officials have said they will not allow Slovenia to be a "corridor" to other EU countries to the north.
Hungarian media have reported that dozens of migrants were crossing from Croatia into Hungary at Illocska, within 50km (30 miles) of Bezdan - thus avoiding the fence on Hungary's border with Serbia.
Hungary's Foreign Minister Peter Szijjarto says the country will extend its fence along the border with Romania.
On Wednesday, Hungarian authorities used water cannon and tear gas at the border with Serbia to stop hundreds of migrants forcing their way through.
The United Nations' top human rights official said the images from the border were "truly shocking".
Zeid Ra'ad al-Hussein said he was appalled at Hungarian authorities' actions, some of which "amount to clear violations of international law".
Separately on Thursday, European Council President Donald Tusk announced an emergency summit on migration on 23 September.
The European Parliament voted to back plans for the mandatory relocation of 120,000 refugees around the EU, but interior ministers from EU countries have not so far been able to reach agreement on the plan.
In other developments:
- Germany has extended border controls currently in place with Austria to the Czech Republic
- The head of the German agency in charge of migration and refugees has resigned, citing personal reasons
- Authorities in Paris, France, are moving more than 500 migrants out of tent camps and offering them accommodation elsewhere
- Bulgaria is sending extra troops to its border with Turkey in case of a further influx of refugees, its defence minister says
- Hundreds of migrants are stranded near the Turkish city of Edirne, close to the border with Bulgaria and Greece
- Austrian railways say services to and from Hungary, suspended on 10 September, will follow their normal timetable from Friday
- The Czech prime minister has indicated his country could voluntarily offer asylum to around 10,000 refugees - far more than the 1,500 the Czech Republic has so far agreed to accept