以centos为基础,目的使用ssh服务远程连接docker容器
环境:宿主机centos7,直接搜索docker的centos镜像,下载最新版本
1、先按照docker:yum install -y epel-release
yum install -y docker
2、启动docker: systemctl start docker.service
3、使用ps查看docker是否启动
ps aux |grep docker
4、下载centos的docker镜像
docker pull centos下载最新版本
查看镜像如图所示
此时的镜像里除了基础的centos系统外,没有其他服务及工具
5、启动centos容器
docker run -it --name=centos-ssh centos /bin/bash
6、进入到容器中,升级并安装ssh组件
yum -y update
yum -y install openssh-server
7、编辑sshd的配置文件/etc/ssh/sshd_config,将其中US人PAM参数设置为0
8、在宿主机中生成密钥对,把生成的公钥文件内容复制到容器的/root/.ssh/authorized_keys里
如果没有请创建。
ssh-keygen -t rsa直接回车即可,查看公钥内容,并复制到容器中
cat /root/.ssh/id_rsa.pub
9、设置容器root密码
echo "root:123456"|chpasswd
10、启动sshd服务并退出容器
/usr/sbin/sshd -D
exit
11、生成支持ssh的新centos镜像
首先查看容器docker ps -a
生成镜像
docker commit e813dfb36be9 sshd-centos
此时生成一个名为sshd-centos的镜像
docker images查看
12、运行该镜像并启动sshd服务
docker run -p 10022:22 -d sshd-centos /usr/sbin/sshd -D
说明: 10022是宿主机的和容器的通讯端口,外面窗口(局域网)通过访问地址
ssh [email protected]宿主机IP 10022(IP和端口之间有空格,不是:)就能进入容器