In a colo/DC environment, if you had a customer wanting to do their own VLANs & subnetting, would you configure the port going to their L3 switch as a trunk port or an access port?
If they only need "Internet" or some other kind of L3 connectivity from you, go for access port. Only configure a trunk if your customer has multiple VLANs that are used to interact with your infrastructure (or other customers located in your network). If the customer wants to connect his own switches/sites over your network and wants to use VLANs, try to do Q-in-Q (VLAN/dot1q tunneling) if your equipment supports it.
That said, if you only need to provide L3 connectivity and you're connecting your customer directly to a router, configure the port as a "routed" port (
no switchport on Cisco) so you don't have to do mac learning and have no interaction with the customers STP, etc.
If you are providing the customer private line transport, you are likely going to offer the customer a tunneling service between sites with a technology such as MPLS L2VPN (VPLS, or Pseudowire), or QinQ.
If this is not the case, a classic access port will not do the trick since the customer wishes to pass VLANs, and a Trunk port would only work IF you are willing to provision the customer's VLANs through your network instead of transparently tunneling them.