主要实现:
有人在服务器上给你开了一个docker的容器,但是你直接就在宿主机面前,你想直接通过宿主机登陆你的docker容器。
注意不是通过docker容器的用户名和密码进入的桌面系统。
1、首先随意通过一个账号,进入宿主机UBUNTU的桌面系统。【不一定需要root账户的账号,肯能是其他容器的账号和密码】
2、查询所有的容器名称
(base) user@user-Precision-7920-Tower:~$ sudo docker ps -a
[sudo] password for user:
这里因为我们是通过USER的用户名进入的宿主机桌面系统,所以我们这里也输入对应的USER用户的密码。得到结果:
dbf1c5313645 ubuntu:18.04 "/bin/bash" 12 hours ago Up 12 hours 0.0.0.0:56791->22/tcp, :::56791->22/tcp pxs_del
c1583f277cfb demo:v1 "python ./src/main.py" 7 weeks ago Exited (0) 7 weeks ago exciting_carson
25cf32b32615 demo:v1 "python ./src/main.py" 7 weeks ago Exited (0) 7 weeks ago boring_greider
fd97e24a5760 hello-world "/hello" 7 weeks ago Exited (0) 7 weeks ago focused_dijkstra
76266e831ebe cpss_image10 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago dazzling_galileo
3029b1a7b4cc cpss_image10 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago practical_torvalds
fbce131facaa cpss_image9 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago reverent_swirles
bd58eb7e665c cpss_image8 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago relaxed_neumann
f86e276eb38f cpss_image7 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago xenodochial_torvalds
366b1cf4c4e7 8e40e6d75d8b "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago affectionate_cerf
b5930a370d5d cpss_image6 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago nostalgic_gould
16ca73a9a55b cpss_image6 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago funny_pascal
13780c30a487 cpss_image5 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago sweet_wozniak
78538d7cfe94 cpss_image4 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago agitated_jang
38f550329ec5 cpss_image3 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago eager_mendeleev
b3375cf0ac48 cpss_image2 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago nice_antonelli
6c1f387eef95 cpss_image2 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (0) 7 weeks ago vibrant_dijkstra
65cf50d473c7 cpss_image "/opt/nvidia/nvidia_…" 8 weeks ago Exited (0) 8 weeks ago serene_dubinsky
845620c4c77e cpss_image "/opt/nvidia/nvidia_…" 8 weeks ago Created 6006/tcp, 8888/tcp exciting_chatelet
6fda569077dc cpss_image "/opt/nvidia/nvidia_…" 8 weeks ago Exited (1) 8 weeks ago clever_mirzakhani
5c824535f7a5 8ccfa82e7ef1 "/opt/nvidia/nvidia_…" 8 weeks ago Exited (2) 8 weeks ago angry_diffie
65ab372193cc 1a20c7907d52 "/opt/nvidia/nvidia_…" 8 weeks ago Exited (2) 8 weeks ago distracted_carson
4592379b0e99 c8732b517376 "/opt/nvidia/nvidia_…" 8 weeks ago Exited (1) 8 weeks ago relaxed_jemison
d5b959f55146 f94f9ffc07f4 "/opt/nvidia/nvidia_…" 8 weeks ago Exited (2) 8 weeks ago heuristic_sinoussi
57f5a9dd540e f94f9ffc07f4 "/opt/nvidia/nvidia_…" 8 weeks ago Exited (2) 8 weeks ago suspicious_sutherland
c9851762e4ed hello-world "/hello" 8 weeks ago Exited (0) 8 weeks ago admiring_wescoff
找到自己的容器的名字,比如是第一个: dbf1c5313645
看看自己容器的状态,如果容器的状态是Exited(255),则说明容器退出了,需要使用以下命令重启重启容器。
sudo docker start dbf
dbf是自己容器名字的前三个字母
3、进入自己的docker容器
sudo docker exec -it dbf /bin/bash
上面命令中容器名字只用输入前三位即可。此时就已经在自己的容器中了,所有操作将在dbf1c5313645容器中进行.
为了以后进入docker容器方便,不用通过宿主机,而是远程SSH直接连接自己的容器,通常我们再重启容器后要重启SSH 服务。重启SSH这个命令是在容器中进行的。
root@dbf1c5313645:/# service ssh restart
* Restarting OpenBSD Secure Shell server sshd
4、退出自己容器进入宿主机的容器,使用的是Ctrl+P+Q三个按键同时,否则就是关闭docker容器而不是退出容器。