Search code examples
dockeribm-cloudcredentials

Unable to push my docker to Bluemix - Login error


I created my dockers using a makefile, and checked if it was correct. In fact, I was able to run it and even upload to Docker Hub without problems. I then followed the steps suggested to upload the docker to Bluemix, and was unable to do it. I am getting an error telling me that my credentials are incorrect, although I am sure they are not (in fact, I was able to login on the Bluemix website using the same credential without problems).

See below the steps I did and the error obtained, any suggestion to solve them will be welcomed:

$ cf login
API endpoint: https://api.eu-gb.bluemix.net

Email> agorostidi

Password> 
Autenticando...
OK

Org seleccionada agorostidi

Space seleccionado dev



Endpoint API:   https://api.eu-gb.bluemix.net (version de API: 2.40.0)   
Usuario:        [email protected]  
Org:            agorostidi   
Space:          dev   
MacBook-Pro-de-Andres:apache-docker andres$ cf ic login
Client certificates are being retrieved from IBM Containers...
Client certificates are being stored in /Users/andres/.ice/certs/...
Client certificates are being stored in /Users/andres/.ice/certs/containers-api.eu-gb.bluemix.net/504cc61c-47e2-4528-914a-3def71277eea...
OK
Client certificates were retrieved.

Deleting old configuration file...
Checking local Docker configuration...
OK

Authenticating with registry at host name registry.eu-gb.bluemix.net
OK
Your container was authenticated with the IBM Containers registry.
Your private Bluemix repository is URL: registry.eu-gb.bluemix.net/goros

You can choose from two ways to use the Docker CLI with IBM Containers:

Option 1: This option allows you to use "cf ic" for managing containers on IBM Containers while still using the Docker CLI directly to manage your local Docker host.
    Use this Cloud Foundry IBM Containers plug-in without affecting the local Docker environment:

    Example Usage:
    cf ic ps
    cf ic images

Option 2: Use the Docker CLI directly. In this shell, override the local Docker environment to connect to IBM Containers by setting these variables. Copy and paste the following commands:
    Note: Only Docker commands followed by (Docker) are supported with this option. 

    export DOCKER_HOST=tcp://containers-api.eu-gb.bluemix.net:8443
    export DOCKER_CERT_PATH=/Users/andres/.ice/certs/containers-api.eu-gb.bluemix.net/504cc61c-47e2-4528-914a-3def71277eea
    export DOCKER_TLS_VERIFY=1

    Example Usage:
    docker ps
    docker images

MacBook-Pro-de-Andres:apache-docker andres$ docker push registry.ng.bluemix.net/eci_test/chargeback:latest
The push refers to a repository [registry.ng.bluemix.net/eci_test/chargeback] (len: 1)
Sending image list

Please login prior to push:
Username: agorostidi
Password: 
Email: [email protected]
Error response from daemon: Wrong login/password, please try again

Solution

  • You logged in to the Bluemix London region and are trying to push an image to the Bluemix US South region, that's why docker push command is asking for your credentials again.

    If you want to push your images to the Bluemix US South region you have to login to that region first.

    Please point your API to the Bluemix US South region with the following command:

    $ cf api https://api.ng.bluemix.net
    

    Then proceed again with the commands you run before, i.e.:

    $ cf login
    $ cf ic login
    $ docker push registry.ng.bluemix.net/eci_test/chargeback:latest
    

    Otherwise, if you want to push your image to the Bluemix London region, then you have to re-tag the image name to match the London region:

    $ docker tag chargeback:latest registry.eu-gb.bluemix.net/eci_test/chargeback:latest
    

    Then you can run the docker push command specifying the new tagged image.