docker容器里安装ssh的具体步骤
docker安装ssh
通过命令行安装
1.pullubuntu镜像
dockerpullubuntu:latest
2.启动并进入bash
dockerrun-it-dubuntu:lastest/bin/bash #查看刚刚运行容器的id dockerps #在容器中执行bash命令 dockerexec-itid/bin/bash
3.安装openssh-server并启动
apt-getupdate apt-getinstallopenssh-server #启动之前需手动创建/var/run/sshd,不然启动sshd的时候会报错 mkdir-p/var/run/sshd #sshd以守护进程运行 /usr/sbin/sshd-D& #安装netstat,查看sshd是否监听22端口 apt-getinstallnet-tools netstat-apn|grepssh
如果已经监听22端口,说明sshd服务启动成功
4.ssh登陆
#生成sshkey ssh-keygen-trsa #修改sshd-config允许root登陆 sed-i's+PermitRootLoginprohibit-password+PermitRootLoginyes'/etc/ssh/sshd-config
修改完sshd-config之后需要重启sshd服务
//找到pid ps-aux|grepssh kill-9pid /usr/sbin/sshd-D&
查看容器ip
ifconfig
在主机上进行登陆
sshroot@ip
就可以登录成功了,但是注意这里是docker容器的宿主机才能登陆成功,如果需要其他机器登陆,可以在启动docker的时候进行端口映射
//11122宿主机端口,22为容器端口 dockerrun-it-p11122:22 //在其他机器上可以使用以下命令登陆,假设宿主机ip为192.168.1.101 ssh-p11122root@192.168.1.101
5.保存容器
//把id为id的容器保存 dockercommitidsshd:ubuntu //停止容器 dockerstopid
通过dockerfile
#以最新的Ubuntu镜像为模板 FROMubuntu:latest //将本目录下的sources.list作为容器的一个文件 ADDsources.list/root/sources.list //使用阿里Ubuntu源,更新快 RUNcp/root/sources.list/etc/apt/sources.list.d/aliyun.list RUNapt-getupdate RUNapt-getinstall-yopenssh-server RUNapt-getinstall-ynet-tools RUNapt-getinstall-yvim RUNmkdir-p/var/run/sshd RUNmkdir-pmkdir/root/.ssh/ //修改root密码,便于远程登录 RUNechoroot:123456|chpasswd //将key生成在指定文件内 RUNssh-keygen-q-trsa-b2048-f/etc/ssh/ssh_host_rsa_key-P''-N'' //配置ssh可以使用root登陆 RUNsed-i's/PermitRootLoginwithout-password/PermitRootLoginyes/'/etc/ssh/sshd_config //开放22端口 EXPOSE22 CMD/usr/sbin/sshd-D&
根据Dockerfilebuild镜像
dockerbuild-tnginx:ubuntu.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。