Slightly incorrect documentation for user parameter in create_container?
The documentation for `user` parameter in `create_container` says: 

`user (str or int): Username or UID`

However, supplying it as python's int(`client.create_container(user=1000, ...)`) gives 
`docker.errors.APIError: 500 Server Error: Internal Server Error ("json: cannot unmarshal number into Go value of type string")`

Supplying it as string works. So this code `client.create_container(user="1000", ...)` works fine. 

I guess it is a minor issue, though only because Celery printed the exception as "500 Server Error: Internal Server Error", so the critical piece of information was missing(`json: cannot unmarshal number into Go value of type string`). So I guess it is a minor issue, but I figured I should report it. 

diff --git a/docker/utils/utils.py b/docker/utils/utils.py
index 8dc726b3..c49b3e58 100644
--- a/docker/utils/utils.py
+++ b/docker/utils/utils.py
@@ -715,7 +715,7 @@ def create_container_config(
         'Hostname': hostname,
         'Domainname': domainname,
         'ExposedPorts': ports,
-        'User': user,
+        'User': six.text_type(user) if user else None,
         'Tty': tty,
         'OpenStdin': stdin_open,
         'StdinOnce': stdin_once,
diff --git a/tests/integration_test.py b/tests/integration_test.py
index fd4ff2d0..4fb2b8ff 100644
--- a/tests/integration_test.py
+++ b/tests/integration_test.py
@@ -1624,3 +1624,9 @@ class TestRegressions(BaseTestCase):
         ctnr = self.client.create_container('busybox', ['sleep', '2'])
         self.client.start(ctnr)
         self.client.stop(ctnr)
+
+    def test_715(self):
+        ctnr = self.client.create_container('busybox', ['id', '-u'], user=1000)
+        self.client.start(ctnr)
+        self.client.wait(ctnr)
+        assert self.client.logs(ctnr) == '1000\\n'
['tests/integration_test.py', 'docker/utils/utils.py']