Since the Docker Hub does not provide any API , the only way to send stuff to the Docker Hub remotely is with the docker push , and this restriction is used to send images.
On the other hand, if you let the Docker Hub service create your image for you from the Github or Bitbucket repository, the Docker Hub will update the long description by taking the contents of the README.md file found in this repository. See Understanding the Build Process from the Docker Hub Automated Build documentation.
This means that you host the Dockerfile and README.md files on Github or Bitbucket.
If you really need to first create your image on TravisCI (perhaps because you also run automatic tests on the embedded image), you can force TravisCI to run a web host on the Docker Hub to tell the Docker Hub to create the image after determining TravisCI it passed tests.
To do this, configure the image in the Docker Hub in the same way as for automatic assembly (therefore, link the Github or Bitbucket project), but disable the automatic function:

Then scroll to the Build settings page to the Build Trigger section and copy the trigger URL:

Now edit the .travis.yml file and add the following block (remember the tags <your account> and <your image> ):
after_success: # notify Docker Hub to make a new build - > [ "$TRAVIS_BRANCH" == "master" ] && curl -X POST -H "Content-Type: application/json" --data '{"docker_tag_name": "latest"}' https://registry.hub.docker.com/u/<your account>/<your image>/trigger/$DOCKER_HUB_TOKEN/
Then go to the project page on the Travis CI website and open the project settings:

And add the DOCKER_HUB_TOKEN environment DOCKER_HUB_TOKEN to the Travis CI project with the trigger token value found on the Docker Hub build settings page:

You will still need the Github or Bitbucket repository associated with your Docker Hub project, but Travis CI will instruct the Docker Hub when creating your image.