docker hub 下载centos配置ssh远程登陆

特别说明

本文用的是linux操作系统,所有环境均为linux环境。
本文是直接进入容器安装配置ssh远程登陆,然后通过配置好的容器生成新的镜像。不是使用Dockerfile的方式,请知晓。

先决条件

物理机安装Docker
物理机可以访问互联网
注册docker hub账号

下载镜像

从docker hub上下载centos镜像。

docker pull centos

不加版本会下载最新的即为centos:latest,下载特定版本自己指定例如 docker pull centos:6。

安装配置

进入容器

运行如下进入容器,之后本章节命令操作在容器的交互窗口运行,而非物理机。

docker run --network host --name test -i -t centos:latest /bin/bash

–network host 直接使用物理机的网络
–name 是给容器起个名叫test,之后生成镜像是要用到
-i 启动互式
-t 进入终端
centos:latest 镜像名
/bin/bash 运行 /bin/bash脚本启动一个bash shell

安装配置openssh-server

在容器交互窗口执行,这部如果报错,应该是物理机网络有问题,请确认你的物理机能够yum 下载。

 yum -y install openssh-server

下载后分别执行,交互时直接空格即可

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key  

启动sshd无报错即可

/usr/sbin/sshd -D

自己设置个密码

passwd

生成镜像并验证

本章节的命令操作在物理机而非容器交互窗口。

生成ssh镜像

重新开个linux终端,在物理机(注意这条命令是在物理机上执行,不是在容器的交互窗口)上运行如下命令基于容器生成镜像。运行完运行docker images查看是否有新的镜像,确认完可以到上章节容器窗口执行exit退出和容器交互。

docker commit test shihb/centos_ssh:7.5

test为上面我们命名的容器名
shihb/centos_ssh:7.5 新的镜像名,自己取

启动ssh容器

基于新的镜像启动容器,启动完可以docker ps 查看

docker run -d  --rm -p 10000:22 shihb/centos_ssh:7.5 /usr/sbin/sshd -D

-d 后台启动
–rm 退出时自动删除容器
shihb/centos_ssh:7.5 自己取的新的镜像名
-p 端口映射 这样我们访问物理机的10000端口就可以访问容器

验证

ssh 到容器,可以在容器中执行命令具体如图,至此容器ssh远程登陆配置完成。

 ssh  root@wpc6 -p 10000

wpc6 为我的主机名
-p 为映射的端口10000即为容器的22端口

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值