DEV Community

Cover image for QwikLabs & Google Cloud Platform — Accessing from local machine
Vishal Raj
Vishal Raj

Posted on • Edited on

QwikLabs & Google Cloud Platform — Accessing from local machine

I have been using QwikLabs for quite a while for practicing the google cloud courses online. Now the thing with Google Cloud is that it provides everything inside the browser only, even the terminal access, called as console. But I wanted to be able to access the Google Cloud console from my local terminal for the ease of typing and personal habit of comfort in using the terminal.

I wasn’t sure if that was possible, since the Google Cloud console authorizes you for every action, implicitly, without you even realizing. So I googled a bit and found that Google Cloud has a docker image for its SDK, which has all the functionalities built into it, to let you interact with the Google Cloud platform. I decided to give it a try.

So here is what I did from start to end to get access to my Google Cloud platform from my local terminal. First of all, you need to have docker engine installed on your local machine, to be able to use the docker image.

vishal@localhost ~> curl https://get.docker.com | sudo bash -
....
....
vishal@localhost ~> sudo usermod -aG docker vishal
vishal@localhost ~> 
Enter fullscreen mode Exit fullscreen mode

At this point, you have to logout and login again for the last docker command to take effect. Open the terminal and start typing again.

vishal@localhost ~> docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vishal@localhost ~> docker pull google/cloud-sdk:latest
latest: Pulling from google/cloud-sdk
4a56a430b2ba: Pull complete 
d2bb1ccc2537: Pull complete 
afb7ad8daa33: Pull complete 
Digest: sha256:ddde4e707ef9c6ff3c93d93a9424ddcc7808c8b4aa51e2bb9326b5cf6614f26b
Status: Downloaded newer image for google/cloud-sdk:latest
docker.io/google/cloud-sdk:latest
vishal@localhost ~>
vishal@localhost ~>docker image ls
docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
google/cloud-sdk    latest              c39e653d9cee        3 days ago          1.78GB
vishal@localhost ~>
vishal@localhost ~> docker run --name local-gcloud-access -it google/cloud-sdk:latest bash
root@4993feef1d6d: gcloud auth list
          Credentialed Accounts
ACTIVE  ACCOUNT
*       <some-google-account>
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
root@4993feef1d6d: gcloud config list project
[core]
project = 
Your active configuration is: [default]
root@4993feef1d6d:
Enter fullscreen mode Exit fullscreen mode

At this point, we know that since none of project have been selected or currently active, so we need to select the project before we can start interacting with Google Cloud.

root@4993feef1d6d: gcloud auth login
Enter fullscreen mode Exit fullscreen mode

This would produce a long google url which you have to open in browser and login with proper credentials. Once you are logged in, you will see a long code on the screen which you need to copy and past it the terminal. If the code is correct, your credentials will be activated in the terminal.
But wait, we aren’t done yet. Remember, you need to select project before you begin. So visit — https://console.cloud.google.com/

From the top left, you will a see dropdown, which will show a list of all the project available for you. Copy the name of the project with which you want to work with. Return to the terminal and execute the command

root@4993feef1d6d: gcloud config set project <name-of-the-project>
Enter fullscreen mode Exit fullscreen mode

And we are all set. Now you can start executing the command from your local terminal.

Last but not the least, as long as you don’t delete the container, your last auth credentails are saved inside it. Which means that when you stop and start the docker container again, you have have the last login credentials still activated. So always be sure to check which account & project is currently active, before you start shooting commands to GCP from your local terminal.

That’s all folks.

Link to my blog - https://vishalraj.blog/qwiklabs-and-google-cloud-access-with-docker/

Top comments (0)