How to login to the docker through commandline?
The docker exec
is similar to running a tty on a linux machine. the only difference is it can accept many more exec connections, Although you can enable ssh to the docker but it will only be possible while running an openssh server inside the running container.
You can exec to connect to a running container much like the ssh into the running machine, Here we use the special options -i
or --interactive
to provide interaction and -t
or --tty
which allocates a pseudo tty
terminal of the type of shell that is followed
The syntax of docker exec is as below:
docker exec -it <container-id | container-name> bash
[vamshi@node01 ~]$ docker exec -it b511234ebe31 bash jenkins@b511234ebe31:/$ id uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins)
We know that the docker exec command is used opens up a tty terminal to connect to the running docker container, but It will connect us with the Default USER that was activated during it docker build.
We can use the -u
flag to connect to the container with the username that is enabled for that image, We see the below example
[vamshi@node01 ~]# docker exec -it -u root b511234ebe31 bash root@b511234ebe31:/# pwd / root@b511234ebe31:/# id uid=0(root) gid=0(root) groups=0(root)