docker centos6 ssh 自启动

docker centos6 自启动ssh服务

前期准备

  1. 下载centos6.6版本镜像
  2. 启动容器完善容器环境
    1. 修改登录密码
    2. 更换yum源地址
      1. 推荐使用阿里源http://mirrors.aliyun.com/repo/Centos-6.repo
      2. 没有wegt命令,可以手动创建文件,粘贴内容。
    3. yum makecache
    4. 安装wget(用于测试yum是否成功)
  3. 完成以上步骤之后,创建新镜像:centos6.6:base

Dockerfile编辑

1. 创建/home/docker/Dockerfile文件并编写一下内容。
2. 在/home/docker/目录下执行 docker build -t='centos6.6:basic' .
3. 注意上条命令后边的“.”。
# 选择一个已有的os镜像作为基础  
FROM centos6.6:base

# 镜像的作者  
MAINTAINER Chu Jie "chuJie@qq.com"  

# 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no  
RUN yum install -y openssh-server sudo  
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config  


# 下面这两句比较特殊,在centos6上必须要有,否则创建出来的容器sshd不能登录  
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key  
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key  

# 启动sshd服务并且暴露22端口  
RUN mkdir /var/run/sshd  
EXPOSE 22  
CMD ["/usr/sbin/sshd", "-D"] 

使用镜像

运行容器
docker run -d -p 10101:22 --name c1 centos6.6:basic
链接容器
docker exec -i -t c1 /bin/bash
检查sshd服务
service sshd status
ssh链接测试

  1. 使用 docker run -i -t –name c1 centos6.6:basic /bin/bash 运行容器,sshd服务是不开启的,必须先-d 在用exec切入。
  2. 如不进行前期准备是不会成功的,因为YUM源不对。
  3. boot2docker使用过程中,每次重启后Dockerfile文件就会丢失。建议外部存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值