创建ssh自启动服务的docker镜像

首先编写Dockerfile

FROM ubuntu:14.04

#设置时间和语言环境变量
ENV TZ Asia/Shanghai
ENV LANG zh_CN.UTF-8

#安装ssh服务端openssh-server 和 进程管理工具supervisor

RUN apt-get update && apt-get install -y supervisor && apt-get install -y openssh-server && apt-get clean /

&& apt-get autoclean

RUN mkdir -p /var/log/supervisor
# 修改root密码
RUN echo 'root:root | chpasswd

#允许rootssh 登录
RUN sed -i "s/#PermitRootLogin no/PermitRootLogin yes/g" /etc/ssh/sshd_config
RUN sed -i "s/PermitRootLogin without-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
#创建ssh的启动目录不然ssh不能启动

RUN mkdir /var/run/sshd

#采用进程管理工具实现镜像run时自动启动ssh服务
COPY supervisord.conf /etc/supervisord.conf
#暴露22端口给宿主机

EXPOSE 22

#启动supervisord服务
CMD ["/usr/bin/supervisord"]

构建镜像

docker build -t ubuntu/ssh:1.0 .

docker run -d -p 90:22 --name ssh ubuntu/ssh:1.0

supervisord.conf的内容

[supervisord]

nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D


你可能感兴趣的:(创建ssh自启动服务的docker镜像)