Docker创建可以SSH连接的容器

#Docker创建可以SSH连接的容器

1.安装Docker(略)

2.获取基础镜像

docker pull centos  #这样获取的是官方Hub的Centos 7,特别精简

docker images可查看镜像列表.

3.运行一个容器

docker run -t -i centos

4.添加SSH到当前容器

yum install wget
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  #换个快一点的源,这是我的习惯
yum clean all
yum install passwd
yum install openssh-server        #安装ssh服务端
echo 'passw0rd' | passwd root --stdin  #设置root密码
vi /etc/ssh/sshd_config #设置端口,注释不需要的设置,如:HostKey

#生成dsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

#生成rsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

#生成ecdsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key

#生成ed25519_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key

vi ~/.ssh/authorized_keys  #[可选]添加个人公钥,设置证书访问
/usr/sbin/sshd   #如果不报错,说明可以启动了.可ss -ln 检查
exit 
#记住这个容器的ID,ID就是PS1的主机名字段,如PS1为'[root@f86b75ebc424 ~]#'的容器,ID就是'f86b75ebc424'

此时,这个容器就已经关闭了.

5.提交更改为新镜像

docker commit f86b75ebc424 c7ssh #使用上一步的容器ID,提交为名为c7ssh镜像

提交成功后,使用docker images可以查看到

6.运行新的镜像

docker run -d -p 220:22 c7ssh /usr/sbin/sshd -D

-d 后台运行容器
-p 容器端口映射到主机[可选]
使用docker ps查看运行的容器
此时你可以直接连接容器,也可以通过端口映射连接容器

ssh IP #docker inspect 容器ID 可查看容器信息可以得到容器的IP
或
ssh 127.0.0.1:220

#题外话:进入docker容器
docker exec -i -t centos /bin/bash

#端口映射,并且直接命名
docker run --name centos7-lnmp1.3-ssh -d -p 53080:80 -p 53081:81 -p 53443:443 -p 53306:3306 -p 53022:22 centos7-ssh-lnmp1.3-ftp /usr/sbin/sshd -D

然后随意操作吧

7.完结

至此,一个可以使用SSH连接的容器就做好了.

转载于:https://my.oschina.net/colour10/blog/877767

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值