docker CentOS 安装 SSH

本贴最后更新于 2695 天前,其中的信息可能已经东海扬尘

安装 CentOS 镜像

docker pull centos  #使用当前最新的 centos-7.1503 (2015-11-12)

然后以交互方式进入容器,命令的 -i 表示以交互模式运行容器,-t 表示容器启动后会进入其命令行

docker run -i -t centos /bin/bash

如果我们要挂上本地的硬盘进进入容器,可以使用 -v <宿主机目录>:<容器目录> 挂载本地目录进容器

docker run -i -t -v /User/ixiaozhi:/mnt/software centos /bin/bash

安装必要软件及配置

一次性安装 openssh 及 vim 等一些一会儿要用的 sshd 及其他工具软件。

yum install -y openssh openssh-server openssh-clients httpd vim passwd

看到 Complete 后,可以查一下 sshd 是否已经安装

which sshd

然后,修改 ssh 的密码,以便可以远程登录。如果是 ubuntu 系统,直接用 passwd 修改即可,centos 需要多做一些事。

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

vim /etc/pam.d/sshd   #修改其中的pam_loginuid.so修改为optional

mkdir /var/run/sshd
passwd   #设置一个密码

保存及启动

查看当前的容器,并 commit 更改

docker ps -l
docker commit e197 centos

现在便可以以后台长期运行的方式运行该容器,通过 -p <对外端口>:<对内端口> 可以指定端口映射。

docker run -d -p 22 -p 80:2368 centos /usr/sbin/sshd -D
docker ps -l

port 显示:
0.0.0.0:32770->22/tcp, 0.0.0.0:80->2368/tcp
因此,我们 ssh 的 22 端口被随机分配的端口为 32770,之后使用 32770 进行 ssh 连接。(PS:2368 是我将使用的 Node.js 的 Ghost 使用的端口)

打开电脑的 iTerm 或其他终端软件,就可以进行连接了。

ssh root@192.168.99.100 -p 32270
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    492 引用 • 926 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...