Dockerfile制作私有镜像,实现ssh登录,安装常用软件

创建目录:mkdir sshd/
进入到目录:cd sshd/
在目录下创建YUM配置文件:local.repo

[local_repo]
name=Local-Base
baseurl="ftp://192.168.1.254/centos-1804"
enabled=1
gpgcheck=0

在目录下面编写Dockerfile文件(文件名必须是Dockerfile)

#基础镜像为CentOS Linux release 7.3.1611 (Core)
FROM docker.io/ansible/centos7-ansible
#定义安装软件(vim ps tab补齐 ss ssh)
ENV BASE_TOOLS vim psmisc iproute bash-completion openssh-server initscripts

MAINTAINER Ops_An [email protected]	
EXPOSE 22
ENV EnvironmentFile=/etc/sysconfig/sshd
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/local.repo
#ssh登录密码为a
RUN yum -y install ${BASE_TOOLS}  && sshd-keygen && echo "a" |passwd --stdin root && yum clean all
CMD ["/usr/sbin/sshd","-D"]

编写完后在当前目录执行:docker built -t 新的镜像名字 .

注意事项

如果基础镜像里面没有rm命令,那么rm -rf /etc/yum.repos.d/*命令会失效,可以在运行新的容器后安装coreutils软件包,再手动删除不用的YUM配置文件

你可能感兴趣的:(Docker)