经常需要对镜像内部的文件进行修改,例如在构建镜像时候修改配置文件。在使用一些开源镜像的过程中发现了一些对镜像文件进行的方式,这里以hadoop集群搭建和storm集群搭建为例介绍两种修改镜像内配置文件的方式。
一、通过context把配置文件传入镜像
step1. 在DockerFile同级目录下,创建conf文件夹,在文件夹中放置修改好的配置文件
step2. 在DockerFile中把conf中的配置文件放置到环境变量中
例:一个docker搭建hadoop集群的案例
文件夹结构
Dockerfile内容:
# # # # # # # # # # # # # # # # # # # # # # # # # Dockerfile to build hadoop container images # # Based on Centos # # # # # # # # # # # # # # # # # # # # # # # # # #base image FROM centos7-hadoop # MainTainer MAINTAINER neu_wj@163.com #WORKDIR /root # ssh without key RUN ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' && \ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' && \ # ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' && \ # ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N '' #RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config #RUN sed -i "s/#UsePrivilegeSeparation.*/UsePrivilege