docker拉取乌班图并且ssh连接方式
作者:cxyhl
文章介绍了如何在Docker中拉取Ubuntu镜像并使用SSH连接到容器,首先,确保容器正在运行,然后使用`docker exec`进入容器,接着,安装并配置OpenSSH服务器,设置root密码,并配置SSH允许root登录,最后,映射端口以便从宿主机连接到容器的SSH服务
docker拉取乌班图并且ssh连接
拉取
docker pull ubuntu:22.04
进入容器
首先,确保你的容器在运行状态。如果容器已经启动,可以使用 docker exec 进入容器。
假设容器名称是 my_ubuntu_container,可以使用以下命令:
docker exec -it my_ubuntu_container bash
更新包列表
apt-get update
安装 OpenSSH 服务器
apt-get install -y openssh-server
启动 SSH 服务
安装完 OpenSSH 服务器后,创建必要的目录并启动 SSH 服务:
mkdir /var/run/sshd service ssh start
设置 root 密码
设置 root 用户的密码,这样你可以通过 SSH 登录到容器:
echo 'root:root' | chpasswd
这里设置的密码是 root,你可以根据需要修改。
配置 SSH 允许 root 登录
你可能需要修改 SSH 配置以允许 root 用户通过密码登录。
编辑 SSH 配置文件
nano /etc/ssh/sshd_config
找到 PermitRootLogin,并确保它被设置为 yes:
PermitRootLogin yes
重启 SSH 服务
service ssh restart
暴露端口
如果你是在 Docker 容器外部连接容器的 SSH 服务,你需要确保容器的 SSH 端口被映射到宿主机的端口上。
假设宿主机的端口是 2222,可以运行以下命令映射端口:
docker run -d -p 2222:22 my_ubuntu_container
如果容器已经运行,可以通过以下命令映射端口:
docker container run -p 2222:22 -d <container_id_or_name>
如果ssh开机自启
docker run -d -p 2222:22 --name unruffled_tu ubuntu:20.04 /usr/sbin/sshd -D
通过 SSH 连接到容器
ssh root@localhost -p 2222
输入密码 root,即可进入容器。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。