ssh连接docker容器处理备忘
1、查看容器ip,记下来之后要用
docker inspect elastic | grep IPAddress
2、使用root进入docker容器
docker exec -it -u root elastic /bin/bash
3、安装openssh
#更新apt
apt-get update
#安装ssh client
apt-get install openssh-client
#安装ssh server
apt-get install openssh-server
#启动服务
/etc/init.d/ssh start
4、设置容器对外的端口映射,这里是把容器的22端口映射到服务器的2201端口
#设置端口映射
iptables -t nat -A DOCKER -p tcp --dport 2201 -j DNAT --to-destination 172.17.0.2:22
#保存,否则重启后设置会丢失
service iptables save
5、修改ssh配置
#先安装vim
apt-get install vim
#修改配置
vim /etc/ssh/sshd_config
6、打开下面几个选项
Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
7、如果root用户没设置过密码的话就设置下
passwd root
8、重启下ssh服务后就可以使用ssh用户名密码方式连接了
service ssh restart
9、在容器中设置开机自启动(启动容器时触发)
# 找到并打开文件/root/.bashrc
vim /root/.bashrc
# 在.bashrc末尾添加如下代码
service ssh start