步骤一:配置centos:7 容器SSH服务
# 1、获取系统镜像
[root@izwz9eftauv7x69f5jvi96z ~]# docker pull centos:7
# 2、启动(可以使用systemd管理服务进程)
[root@izwz9eftauv7x69f5jvi96z ~]# docker run -tdi --privileged centos init
# 3、进入容器的bash
[root@izwz9eftauv7x69f5jvi96z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0d77d1bf15b3 centos "init" 8 seconds ago Up 8 seconds elegant_joliot
[root@d26c58c4f740 /]# docker exec -it 0d bash
# 4、修改root密码,初始化密码Qwer1234
[root@d26c58c4f740 /]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
# 5、安装容器的openssh-server
[root@d26c58c4f740 /]# yum install openssh-server -y
………………
# 6、修改/etc/ssh/sshd_config配置并保存:PermitRootLogin yes UsePAM no
[root@d26c58c4f740 /]# vi /etc/ssh/sshd_config
# 7、启动ssh服务
[root@0d77d1bf15b3 /]# systemctl start sshd
# 8、退出容器
[root@0d77d1bf15b3 /]# exit
exit
步骤二:构建并启动镜像
# 1、查看刚刚的容器ID
[root@izwz9eftauv7x69f5jvi96z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0d77d1bf15b3 centos "init" 5 minutes ago Up 5 minutes elegant_joliot
# 2、通过commit构建镜像
[root@izwz9eftauv7x69f5jvi96z ~]# docker commit \
> --author "wwx" \
> --message "容器centos开启远程ssh成功" \
> 0d \
> wuweixiang/centos7-ssh:1.0.0
sha256:983d8f4594dc6ef98d0432c34331faa307a82e85bd15ed1a6d15bfb91bc81359
# 3、启动这个镜像的容器,并映射本地的一个闲置的端口(例如10000)到容器的22端口
[root@izwz9eftauv7x69f5jvi96z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wuweixiang/centos7-ssh 1.0.0 983d8f4594dc 2 minutes ago 302MB
[root@izwz9eftauv7x69f5jvi96z ~]# docker run -d -p 10000:22 --name wwx-centos7-ssh 983 /usr/sbin/sshd -D
9004a532ed73cee18fb804cd2e36491785b26df885fb20f226929dd4428df859
Connecting to 112.74.185.172:10000...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Fri Nov 23 07:58:34 2018 from 120.42.130.201
[root@9004a532ed73 ~]#
转载至链接:https://my.oschina.net/wuweixiang/blog/2934269。
---------------------------------------------------------------------验证步骤----------------------------------------------------------------------------------------
# 1、获取系统镜像
[root@izwz9eftauv7x69f5jvi96z ~]# docker pull centos:7
# 2、查看镜像
[root@localhost ~]# docker images
# 3、启动(可以使用systemd管理服务进程)
sudo docker run --privileged -itd -p 63306:3306 -p20022:22 --name ssh001 lsl/centos7-jdk1.8 /usr/sbin/init
# 4、查看启动的容器
# 5、进入容器的bash
[root@localhost ~]# docker exec -it e70808539701 bash
# 6、修改root密码,初始化密码root1234
[root@e70808539701 /]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
# 7、安装容器的openssh-server
[root@e70808539701 /]# yum install openssh-server -y
# 8、修改/etc/ssh/sshd_config配置并保存:PermitRootLogin yes UsePAM no
[root@e70808539701 /]# vi /etc/ssh/sshd_config
#PermitRootLogin yes
修改为PermitRootLogin yes
UsePAM yes 修改为 UsePAM no
# 9、启动ssh服务
[root@e70808539701 /]# systemctl start sshd
# 10、配置完成,使用xsheel连接。
查看容器的ip,在宿主机执行:
将container_name 换成实际环境中的容器名
docker inspect `container_name` | grep IPAddress