前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >构建带有ssh服务的镜像

构建带有ssh服务的镜像

作者头像
dogfei
发布2020-07-31 13:24:20
1.3K0
发布2020-07-31 13:24:20
举报
文章被收录于专栏:devops探索

背景

公司有一批机器是内网的机器,无法访问外网,但是内网之间都是可以互通的,我们需要在这几台机器上部署环境,所以优先考虑使用docker容器,在本地写好dockerfile,构建好镜像,然后把镜像load到目标机器上,所以我们需要先构建一层装有基础服务的镜像,然后在此基础上部署服务。

实现方法

ubuntu实现方法:

代码语言:javascript
复制
FROM       ubuntu:16.04
MAINTAINER dogfei
RUN apt-get -y update \
    && apt-get install -y openssh-server \
    && mkdir /var/run/sshd \
    && echo 'root:root' |chpasswd \
    && sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config \
    && sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config \
    && mkdir /root/.ssh \
    && apt-get clean && \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

centos实现方法:

代码语言:javascript
复制
FROM centos:latest
MAINTAINER dogfei
RUN rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
    && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
    && yum install -y yum-priorities \
    && yum install -y sudo \
    && yum install -y net-tools openssh-clients openssh-server 
# 将sshd的UsePAM参数设置成no,优化ssh连接
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
# 修改root用户密码,这里密码为:devilf
RUN echo "root:devilf"|chpasswd \
    && ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key \
    && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
# 启动sshd服务并且暴露22端口
RUN mkdir /var/run/sshd
EXPOSE 22    #监听22端口,外界可以访问
ENTRYPOINT ["/usr/sbin/sshd","-D"]    #entrypoint表示默认情况下容器运行的命令

开始构建

代码语言:javascript
复制
docker build -t='ssh-server:v1' .

注:

当我们使用普通用户执行docker相关的命令时,我们可能需要加上sudo才能执行,非常麻烦,所以我们可以把当前的用户添加到docker组里

代码语言:javascript
复制
sudo usermod -aG docker dogfei
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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