• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > docker容器里安装ssh的具体步骤

docker容器里安装ssh的具体步骤

作者:lacker 字体:[增加 减小] 来源:互联网

本文主要包含docker容器安装ssh,docker容器中安装ssh,docker,安装ssh等服务器相关知识,lacker 希望可以进行参考

docker安装ssh

通过命令行安装

1.pull ubuntu镜像

docker pull ubuntu:latest

2.启动并进入bash

docker run -it -d ubuntu:lastest /bin/bash
# 查看刚刚运行容器的id
docker ps
# 在容器中执行bash命令
docker exec -it id /bin/bash

3.安装openssh-server并启动

apt-get update
apt-get install openssh-server
# 启动之前需手动创建/var/run/sshd,不然启动sshd的时候会报错
mkdir -p /var/run/sshd
# sshd以守护进程运行
/usr/sbin/sshd -D &
# 安装netstat,查看sshd是否监听22端口
apt-get install net-tools
netstat -apn | grep ssh

如果已经监听22端口,说明sshd服务启动成功

4.ssh登陆

# 生成ssh key
ssh-keygen -t rsa
# 修改sshd-config允许root登陆
sed -i 's+PermitRootLogin prohibit-password+PermitRootLogin yes' /etc/ssh/sshd-config

修改完sshd-config之后需要重启sshd服务

// 找到pid
ps -aux | grep ssh
kill -9 pid
/usr/sbin/sshd -D &

查看容器ip

ifconfig

在主机上进行登陆

ssh root@ip

就可以登录成功了,但是注意这里是docker容器的宿主机才能登陆成功,如果需要其他机器登陆,可以在启动docker的时候进行端口映射

// 11122宿主机端口,22为容器端口
docker run -it -p 11122:22 
// 在其他机器上可以使用以下命令登陆,假设宿主机ip为192.168.1.101
ssh -p 11122 root@192.168.1.101

5.保存容器

// 把id为id的容器保存
docker commit id sshd:ubuntu
// 停止容器
docker stop id

通过dockerfile

# 以最新的Ubuntu镜像为模板
FROM ubuntu:latest

// 将本目录下的sources.list作为容器的一个文件
ADD sources.list /root/sources.list
// 使用阿里Ubuntu源,更新快
RUN cp /root/sources.list /etc/apt/sources.list.d/aliyun.list

RUN apt-get update
RUN apt-get install -y openssh-server
RUN apt-get install -y net-tools
RUN apt-get install -y vim
RUN mkdir -p /var/run/sshd
RUN mkdir -p mkdir/root/.ssh/
// 修改root密码,便于远程登录
RUN echo root:123456 | chpasswd
// 将key生成在指定文件内
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -P '' -N ''
// 配置ssh可以使用root登陆
RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config

// 开放22端口
EXPOSE 22

CMD /usr/sbin/sshd -D &

根据Dockerfile build镜像

docker build -t nginx:ubuntu .

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

  • CentOS 6.5 制作可以ssh登录的Docker镜像
  • 详解Docker创建支持ssh服务的容器和镜像
  • 在Docker容器中不需要运行sshd的原因浅析
  • docker centos7 安装ssh具体步骤
  • Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
  • 详解docker 允许主机ssh连接到docker容器中
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解Docker创建支持ssh服务的容器和镜像
  • docker容器里安装ssh的具体步骤

相关文章

  • Docker镜像制作详解介绍
  • 使用Docker安装phabricator的配置和使用方法
  • VMware给虚拟机安装linux系统
  • XenServer6.0中虚拟机设置自动启动的方法
  • Docke实例之搭建gitlab的方法
  • OpenStack 工作流workflows使用原理详细介绍
  • MAC VMWare Fusion网络设置方法
  • 在Docker中使用mongodb数据库的实现代码
  • 什么是Docker? Docker入门教程
  • Docker service命令详解(小结)

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 如何通过vs2017的Dockerfile来生成镜像
    • VMware仅主机模式访问外网的方法
    • Docker多阶段镜像构建的实现
    • Docker学习之常用的基础命令总结
    • 分享8个基本的Docker容器管理命令
    • Dubbo 并发调优的几个参数,dubbo并发调优参数
    • 详解VMware接入Openstack—使用Openstack创建vCenter虚拟机
    • VirtualBox实现虚拟机中共享本地目录的方法
    • Docker容器化spring boot应用详解
    • Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成,jdbcjdbctemplate

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有