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

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 .
(0)

相关推荐

  • 在CentOS或Fedora上运行Docker容器的方法与步骤

    最近,炙手可热Docker已俨然成为将应用程序部署到云环境的一种关键技术。相比传统的硬件虚拟化技术,基于 Docker的容器沙箱为应用程序部署环境提供了许多优点,比如轻型隔离、部署的应用程序便于移植、 ...

  • CentOS6.x上部署Docker容器环境的全流程攻略

    Docker.io 是轻量级的“容器引擎+映像仓库”,在LXC(linux轻量级容器)的基础上构建,可以运行任何应用程序.docker.io的核心层由以下几个部分组成:1.可执行程序,“/usr/bi ...

  • Linux下配置Docker容器间网络连接的教程

    Docker容器都是独立的,互相隔离的环境.然而,它们通常只有互相通信时才能发挥作用.虽然有许多方法可以连接容器们,可是我将并不会试着去将其全部讨论在内.但是在这一系列的方法中,我们将看看那些常用的做 ...

  • Win8系统下安装网络打印机的详细步骤(全程图解)

    网络打印机的使用是办公一族必须掌握的一个技能,很多用户都能够在Win7或WinXP下轻松自如的安装运行网络打印机,可是到了Win8,就没那么顺手,有些用户表示在Win8系统下安装不来网络打印机,求教大 ...

  • 用虚拟光驱加载win7或者xp iso镜像文件安装系统的图解步骤

    Linux笔记本安装Win7或者XP系统第四步——用虚拟光驱加载Win7或者XP镜像 在这里先说明一下,安装Win7或者XP系统,都需要一个Win7或者XP系统的镜像文件,这个镜像文件可以来自正版Wi ...

  • 索尼SVF13N2笔记本用U盘安装系统的操作步骤

    有不少初学者想要学习用U盘装系统,但网上纷飞的各种教程另他们眼花缭乱,缺乏针对性。现在小编可以教教索尼SVF13N笔记本的用户怎么用U盘装系统,一起看看吧。 一、设置U盘起动: 1、关机按ASSIST ...

  • 用U盘安装系统的完美步骤

    用U盘安装系统的完美步骤

  • 在Win7系统中安装SkyDrive的详细步骤

    SkyDrive这么大的网盘,为啥不用起来咧~不过,网盘每次都要在浏览器里打开,多麻烦啊~微软肯定不这么想,有了Win7,把SkyDrive hold住当作自己的磁盘一样用也没问题,下面就教教大家怎么 ...

  • 五步轻松实施Docker容器技术

    随着Docker在云计算市场中领先地位的日益稳固,容器技术也成为了一种主流技术.为了对用户的应用程序使用容器技术,可遵循以下五个步骤. Docker容器技术已在云计算市场中风靡一时了,而众多主流供应商 ...