allow env, port and volume to be strings or arrays; upconvert strings to single-element arrays in provider