一.安装centos7 镜像
1.搜索并拉取centos镜像(默认最新镜像)
docker search centos
docker pull centos
2.建立本机对应docker-centos76 镜像端口映射
ssh默认的端口为22,我们将docker中centos的22端口映射到宿主机的5000端口
docker run -d -p 5001:22 --name centos76-javabase --privileged=true centos:latest /usr/sbin/init
3.进入容器
docker exec -it centos76-javabase /bin/bash
二.安装常用工具
1.安装常用工具
yum install -y openssh-server vim lrzsz wget gcc-c++ pcre pcre-devel zlib zlib-devel ruby openssl openssl-devel patch bash-completion zlib.i686 libstdc++.i686 lsof unzip zip
2.service安装
yum install initscripts
3.ifconfig安装
yum install net-tools.x86_64
4.ssh安装(10.0.75.1为docker的ip)
yum install openssh-server
yum -y install openssh-clients
5.安装完成后,启动sshd:
/usr/sbin/sshd -D
报错则:
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
6.再次启动服务
service sshd restart
#查看是否启动22端口
netstat -antp | grep sshd
三.开启docker-centos76 ssh远程连接服务器
1.修改sshd_config 为密码登录
vim /etc/ssh/sshd_config
#打开注释 PermitRootLogin yes, 允许密码登录,保存退出
2.设置root用户密码
passwd root
四.重新制作镜像
接着需要把修改后的镜像保存了,首先输入exit退出容器,再使用下面命令查看刚运行过的。docker commit将修改后镜像保存到本地,参数是ID,名字
#docker ps -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1426410f233 centos:7 "/bin/bash" 4 minutes ago Exited (0) 4 seconds ago centos7ssh
#docker commit b39826410fe60 myimage/centos7-ssh
下次可以输入刚保存的名字启动修改过安装了ssh服务的镜像了。