ssh连接docker容器处理备忘

1、查看容器ip,记下来之后要用

docker inspect elastic | grep IPAddress

ssh连接docker容器处理备忘_第1张图片

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

你可能感兴趣的:(docker,容器,运维)