定制docker镜像centos+ssh
定制docker镜像centos+ssh
前言
根据业务定制自己镜像才会让部署更简单
一、创建目录
mkdir myimage
二、编写Dockerfile
在myimage目录下创建Dockerfile
vim Dockerfile
内容:
FROM centos
#镜像作者
MAINTAINER baixz
# 安装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
# 安装openssh-clients
RUN yum install -y openssh-clients
# 添加测试用户root,密码root,并将此用户添加到sudoers里
RUN echo "root:root" | chpasswd
RUN echo "root ALL=(ALL) ALL" >> /etc/sudoers
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"]
命令解释:
FROM 来自哪个镜像(构建自己的镜像一般都基于一个基础镜像如centos)
MAINTAINER 作者信息
RUN 执行可执行的命令(shell命令)
EXPOSE 申明端口
CMD 容器中执行的命令
三、构建镜像
docker build -t '镜像名称'
*遇到的问题
根据提示看是域名解析不出来
所以首先配置域名解析,修改宿主机配置文件
vim /etc/resolv.conf
追加内容:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 114.114.114.114
重启一下docker即可
四、查看镜像是否构建成功
docker images
默认tag是latest