前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker中配置centos容器支持ssh

Docker中配置centos容器支持ssh

作者头像
dys
发布2018-04-02 16:06:26
2.9K0
发布2018-04-02 16:06:26
举报
文章被收录于专栏:性能与架构性能与架构

在Docker起步中,已经下载了ubuntu系统镜像,启动容器后成功执行了一个简单的系统命令

此时的容器是封闭的,下面我们就建立起和容器的沟通桥梁 - 配置SSH服务

这里使用centos镜像进行配置

步骤

(1)下载centos基础镜像

(2)编写集成配置文件,在基础镜像之上支持ssh

(3)运行配置文件,创建支持ssh的新镜像

(4)运行容器,同时开启ssh服务

(5)测试,用ssh命令连接容器

操作

(1)下载centos基础镜像

执行下载镜像命令

代码语言:javascript
复制
# docker pull centos

(2)编写配置文件

新建一个测试目录,在其下新建配置文件

代码语言:javascript
复制
# vi Dockerfile

内容:

代码语言:javascript
复制
FROM        centos
MAINTAINER  dys "dys@abc.com"
RUN         yum install -y openssh openssh-server openssh-clients
RUN         mkdir -p /var/run/sshd
RUN         ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN         ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN         /bin/echo 'root:aaaaaa' |chpasswd
RUN         useradd dys
RUN         /bin/echo 'dys:aaaaaa' |chpasswd
RUN         /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd
RUN         /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local
EXPOSE      22
CMD         /usr/sbin/sshd -D

(3)运行配置文件,创建镜像

在Dockerfile文件所在目录下执行:

代码语言:javascript
复制
docker build -rm -t dys/centos:ssh .

当执行完后,使用 docker images 命令就能看到刚刚创建的镜像 dys/centos

(4)运行容器

执行命令启动容器

docker run -d -p 22 dys/centos:ssh

使用 docker ps 命令查看是否启动成功

如果看到了刚创建的镜像名称,说明此容器已成功运行

0.0.0.0:1035->22/tcp 说明22端口对应的是1035端口,我们就可以使用ssh客户端连接了

(5)连接测试

使用ssh命令连接容器

上面的配置文件中添加了用户:dys,并设置了密码:aaaaaa

ssh dys@127.0.0.1 -p 1035

输入密码 aaaaaa

进入容器的命令行

这个过程中最重要的是 Dockerfile 配置文件的编写,后续会详细介绍此文件

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档