Base it off of a Cart Capacity of Grain In Ancient Rome
A lot of answers on how it was done, but not how it could be done. Grain was by far one of the most large scale transported materials. It was also one of the least dense; so, if you design your containers to transport grain, then anything more dense will still work without leaving your with a container that is unnecessarily light for other common goods. So, if you wanted to transport Oil or Wine for example, you could still hit the shipping container's weight capacity by loading it with something like amphoras, barrels, or wineskins. You could even load it up with lots of smaller crates for easier unpacking where required.
The average single draft horse can pull about 3600kg. Since we are talking about shipping containers, your carts themselves could be a basic flatbed cart like a bray which can be made pretty light weight. So let's say your actual, fully loaded cargo container is 3200kg on a 300kg cart. The average density of grain is about 0.79g/cm^3 meaning your container should have a volume of ~4,000,000 cm^3.
Interestingly enough, the Roman Polyspaston crane used for loading and unloading ships is estimated to have a lift capacity of about 3 tons; so, it seems that the Romans were already designing thier port cranes to lift cargo by the single draft-horse cart load; so, you could use the cranes that already existed in the ancient time period, but the containers mean a lot less loading and unloading would be required between the cargo's origin and destination.
Thanks to the width of a horses backside, most Roman carts had wheels about 144cm apart. These carts wore ruts into commonly used paths making paths untraversable by carts of other sizes; so, Romans, and most Medieval civilizations that followed, standardized thier carts to a wheel width of about 144cm. Subtract about 8cm for room for wheel spacing and tolerance, and the ideal width of a pre-modern cargo container should be about 136cm. If you were to make it as tall as it is wide, then the total dimensions of your cargo container would be about 136 x 136 x 216 cm.
So, your ships could pull into port, off-load with a kind of crane that was already common, and place the container directly onto a cart to be carried away. If you have a 2 horse cart which was more common for moving things around inside of cities where roads are wider and paved, it can actually pull 3 containers with fewer horses; so, you could turn the containers up right or sideways to make them fit, or you could even create a larger 136 x 216 x 408cm standard "triple crate", but this would require much bigger cranes; so, probably not the best idea except in certain high-traffic trading situations where you can count on bigger 10 ton cranes on both ends of the trip. Most Roman cargo ships held about 2000-3000 amphora with each amphora weighing about 50kg. But by using shipping containers instead; such a ship could be loaded with about 32-47 containers of the same weight dramatically reducing time spent carrying amphoras around and reducing the space needed to carry it all.
What About Materials
Industrial metal production did not exist in the ancient world, but industrial lumber production did. Roman Sawmills were comparable to the sawmills of the Early Industrial Revolution allowing them to turn out significant amounts of boards and plywood making processed lumber surprisingly cheap. So, while making giant shipping crates like this may be cost prohibitive in most of the Ancient and Medieval world, in the Roman Empire, wooden vessels could have been made much more cheaply than the ceramic ones they used. Most likely, they preferred amphora because round containers are much easier to make with ceramics than wood meaning the amphora could be rolled... but since these crates don't need to be moved by hand, this is not a factor.
As for water proofing to keep your goods dry, this is also very easy using Roman technology. When the Romans needed to water proof wood, they would coat it with a resin made from boiled pine sap. This resin is both cheap, and durable making your crates able to survive many years of direct exposure to rain and sun.
What About the Rigging or Stability?
Having done an in depth look at many different images of Roman medium cargo ships, I've come to the following design to show the most likely layout of lines on a typical Roman Oneraia (grain ship) while in port. From what I can tell, an Oneraia has enough accessible deck space for ~50 cargo containers which could be stacked 3 high without interfering with the sails or two high to not even come above the top deck or even 1 high and still give the ship about the same cargo capacity as a traditional amphora trade vessel for a total weight of 160-480 tons of cargo... well over the 100-150 tons of amphora they could normally fit using racks. Since it is unlikely that such a ship could even safely transport crates more than 1 or 2 high, this gives the ship more than enough crane accessible space to load it to its maximum capacity despite some of the top deck being inaccessible due to riggings. Since you do not need to load the ship any higher than an amphora transport to get well beyond the ship's max weight, you can count on the ship remaining stable and buoyant. This also means you could cap the bays with closable doors if you so choose allowing your to not have to sacrifice any deck space and help keep the rain out of your bays. Or more simply, you can lay out your deck to line up with the crates making the crates become your deck.
What About the Structural Concerns of Open Cargo Bays?
While some concern has been voiced about having large open bays, many Greek and Roman ships were already designed like this. On larger wooden ships, it is the beams and not the deck that gives the hull integrity; so, this just means you need to space your beams some increment of just over 216cm apart, and then you can lower the crates between them. Even on the smaller trading ship shown below, there is enough room to fit 2 crates high without going so high as to make the ship or containers unstable.
How do These Crates Improve Shipping?
In a normal Roman Cargo ship, you start off by having to fill amphora, barrels, sacks, etc. into increments of 30-50kg. (That is about 65-105 items you need to move to fill a draft cart). Amphora were also quite heavy. An 11kg amphora only holds about 39 liters which means that an amphora grain ship spends about 25% of its tonnage on the shipping containers themselves. In contrast, a shipping crate of this size weighs about 180kg meaning your container weight is just under 5% of your load. So, a 150 ton crate ship would carry 30 more tons of grain than a 150 ton amphora ship.
Also, those containers need to be loaded 1 at a time onto a cart, often requiring 2 people if you need to carry the load more than a few feet to your destination. The wagon is then driven to a port where the cargo is unloaded 1 container at a time into a loading net. The loading net is then hoisted by crane onto the ship where you then need to unload them 1 at a time into their proper racks. Then when you reach your destination, you have to repeat the whole process in reverse to get the human portable containers back onto carts which are then brought to the destination where the cart must again be unloaded 1 item at a time. This means that your little amphora or what not has to be carried 6 times to get from point A to point B. If we assume that each time you move an amphora by hand that it takes you an average of 3 minutes (these things are heavy and require careful handling after all), then the total labor cost spend on loading time for a single wagon load of goods could easily be 20-40 hours (That is ~940-1880 man hours for a 150 ton ship.)
By using shipping containers, you can put most cargo like grain directly into the crate saving tons of time and money on packaging, but even if you do need to transport something like wine or oil, you can still fit 3200kg of them into the container in other vessels since these liquids are more dense than grain. Romans often preferred wine skins over amphora when it did not need to go into a boat because they were so much lighter, but did not handle shipping as well; so, chances are amphora would go out of style if you could keep wine and oil skins safer in transit with a crate, meaning you'd still save on weight per goods. Since loading the container is just as easy as loading a normal wagon, the worst case scenario is you break even on labor for loading your initial cart, but for cargo that you can put straight into the container, you can save time and materials by using one big box instead of lots of little ones. Then when you reach the port you are going to, you just hook your crane to the top of your container and hoist it straight off of your cart and onto the ship trading ~7-14 hours of hard labor for what will take a 4 man team just a few minutes. Then you get to the the destination port and lift the crate straight onto the next cart that brings it to the destination where you can unload the crate. So instead of having to load/unload 6 times, you only have to do it twice reducing your labor costs by about 14-28 hours per shipment per container (~725-1250 man hours for a 150 ton ship). Given how cheaply Romans could make such a crate, I'd imagine it could pay for itself within the first trip.