Docker-file构建centos容器SSH远程登录

  •  Dockerfile常用命令

    (1) FROM: 制作image时依据的基本image
    (2) RUN:制作image时执行的命令,一般在Dockerfile中多次出现
    (3) CMD:启动docker时执行的命令,在Dockerfile中只出现一次
    (4) ENV:设置环境变量
    (5) COPY:制作image时,将文件系统中的文件复制到Docker镜像中
    (6) WORKDIR:设置工作目录
    (7) EXPOSE:设置向外暴露的端口
    (8) VOLUME:设置容器与外界映射的目录

     

  • mkdir -p /Docker-Ser/Dockerfile/centos-ssh
    #此目录可自定义,注意此目录下最好不要存放其他文件
  • 编写带有ssh远程登录功能的dockerfile文件

  • #cd /Docker-Ser/Dockerfile/centos-ssh
    #vi Dockerfile
    #生成的新镜像以centos镜像为基础
    FROM centos
    #指定作者信息
    MAINTAINER BestYunYan
    # 安装openssh-server
    RUN yum -y install openssh-server
    RUN mkdir /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
    #指定root密码
    RUN /bin/echo 'root:123456'|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
  • 镜像构建并查看

  • [root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# docker build -t 5588/centos-ssh:v1.0.0 . #进行构建
    Sending build context to Docker daemon   2.56kB
    Step 1/11 : FROM centos
     ---> 5182e96772b........
    [root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# docker images #查看构建的镜像
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    5588/centos-ssh     v1.0.0              f904f5528af4        28 minutes ago      301MB
  • 启动容器

  • [root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# docker run -itd -p 10022:22 --name test_centos_1 5588/centos-ssh:v1.0.0 #启动容器
    5857cf2ec05231ff46345bcb9218f1975438657cdc3f08ef39ca7ecb9b778b35
    [root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# docker ps #查看已经启动的容器
    CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                   NAMES
    5857cf2ec052        5588/centos-ssh:v1.0.0   "/bin/sh -c '/usr/sb…"   14 seconds ago      Up 13 seconds       0.0.0.0:10022->22/tcp   test_centos_1
  •  测试远程登录

  • [root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# ssh -p10022 127.0.0.1 #远程测试
    root@127.0.0.1's password: 
    [root@5857cf2ec052 ~]#

转载于:https://my.oschina.net/wangyunlong/blog/2221344

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值