📅  最后修改于: 2023-12-03 15:35:08.783000             🧑  作者: Mango
在开发和运维过程中,我们可能需要进入 Docker 容器来执行命令或调试程序。通过 SSH 进入 Docker 容器可以方便地进行这些操作。
首先我们需要确保 Docker 容器已经运行,并且已经安装了 SSH 服务。可以通过以下命令启动一个 Ubuntu 镜像并安装 SSH:
docker run -d -p 22:22 --name ubuntu_sshd ubuntu:latest
docker exec -i ubuntu_sshd /bin/bash -c 'apt-get update && apt-get install -y ssh && mkdir /var/run/sshd && echo "root:password" | chpasswd'
其中 -d
参数表示以后台模式运行容器,-p
参数将主机的 22 端口映射到容器的 22 端口,--name
参数指定容器的名称,ubuntu_sshd
是自定义的名称,ubuntu:latest
是要运行的镜像。接下来通过 docker exec
命令在容器内安装 SSH,并设置 root 用户的密码为 password。
接下来可以通过 SSH 进入容器:
ssh root@localhost -p 22
其中 root
是要登录的用户名,localhost
是容器所在的主机地址,-p 22
是容器的 SSH 服务监听端口。输入密码 password
即可成功登录。
--privileged
参数运行容器。但是应该避免滥用特权模式,以免容器中的进程影响到宿主机。