📜  ssh 进入 docker 容器 - CSS (1)

📅  最后修改于: 2023-12-03 15:35:08.783000             🧑  作者: Mango

SSH 进入 Docker 容器

在开发和运维过程中,我们可能需要进入 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 即可成功登录。

注意事项
  • 安全性:为了保证安全,应该避免使用默认密码,并只允许有必要的用户登录 SSH。
  • 网络设置:如果容器与主机在同一网络中,则可以使用 localhost 进行 SSH 登录;如果容器与主机不在同一网络中,则需要获取容器的 IP 地址进行 SSH 登录。
  • 特权模式:如果在容器内运行的进程需要 root 权限,则需要使用 --privileged 参数运行容器。但是应该避免滥用特权模式,以免容器中的进程影响到宿主机。
  • 容器命名:为了方便 SSH 登录,应该为容器指定一个易记的名称。
参考文献