From b32e8e37d22897063a496cb201aac883b05ade07 Mon Sep 17 00:00:00 2001 From: niusmallnan Date: Mon, 3 Dec 2018 13:26:25 +0800 Subject: [PATCH] Refactoring each os image More reasonable use of COPY, easy to maintain --- images/01-base/.dockerignore | 2 ++ images/01-base/Dockerfile | 18 ++++++------------ .../01-base/{templates => etc}/dhcpcd.conf.tpl | 0 .../01-base/{dhcpcd => etc}/dhcpcd.enter-hook | 0 images/01-base/{ => etc}/inputrc | 0 .../{templates => etc}/wpa_supplicant.conf.tpl | 0 images/01-base/{ => usr/bin}/growpart | 0 images/01-base/{ => usr/bin}/start_ntp.sh | 0 .../lib/dhcpcd/dhcpcd-hooks}/10-mtu | 0 .../share/logrotate/logrotate.d}/dhcpcd.debug | 0 images/02-acpid/.dockerignore | 2 ++ images/02-acpid/Dockerfile | 3 +-- images/02-acpid/{ => etc/acpi/events}/lid | 0 images/02-acpid/{ => etc/acpi}/suspend.sh | 0 images/02-bootstrap/.dockerignore | 2 ++ images/02-bootstrap/Dockerfile | 3 +-- .../02-bootstrap/{ => usr/sbin}/auto-format.sh | 0 images/02-logrotate/.dockerignore | 2 ++ images/02-logrotate/Dockerfile | 4 +--- images/02-logrotate/{ => etc}/logrotate.conf | 0 .../02-logrotate/{ => usr/bin}/entrypoint.sh | 0 .../share/logrotate}/logrotate.d/docker | 0 images/02-syslog/.dockerignore | 2 ++ images/02-syslog/Dockerfile | 3 +-- images/02-syslog/{ => usr/bin}/entrypoint.sh | 0 .../share/logrotate}/logrotate.d/syslog | 0 26 files changed, 20 insertions(+), 21 deletions(-) create mode 100644 images/01-base/.dockerignore rename images/01-base/{templates => etc}/dhcpcd.conf.tpl (100%) rename images/01-base/{dhcpcd => etc}/dhcpcd.enter-hook (100%) rename images/01-base/{ => etc}/inputrc (100%) rename images/01-base/{templates => etc}/wpa_supplicant.conf.tpl (100%) rename images/01-base/{ => usr/bin}/growpart (100%) rename images/01-base/{ => usr/bin}/start_ntp.sh (100%) rename images/01-base/{dhcpcd => usr/lib/dhcpcd/dhcpcd-hooks}/10-mtu (100%) rename images/01-base/{dhcpcd => usr/share/logrotate/logrotate.d}/dhcpcd.debug (100%) create mode 100644 images/02-acpid/.dockerignore rename images/02-acpid/{ => etc/acpi/events}/lid (100%) rename images/02-acpid/{ => etc/acpi}/suspend.sh (100%) create mode 100644 images/02-bootstrap/.dockerignore rename images/02-bootstrap/{ => usr/sbin}/auto-format.sh (100%) create mode 100644 images/02-logrotate/.dockerignore rename images/02-logrotate/{ => etc}/logrotate.conf (100%) rename images/02-logrotate/{ => usr/bin}/entrypoint.sh (100%) rename images/02-logrotate/{ => usr/share/logrotate}/logrotate.d/docker (100%) create mode 100644 images/02-syslog/.dockerignore rename images/02-syslog/{ => usr/bin}/entrypoint.sh (100%) rename images/02-syslog/{ => usr/share/logrotate}/logrotate.d/syslog (100%) diff --git a/images/01-base/.dockerignore b/images/01-base/.dockerignore new file mode 100644 index 00000000..4a246ec6 --- /dev/null +++ b/images/01-base/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +.dockerignore diff --git a/images/01-base/Dockerfile b/images/01-base/Dockerfile index 0c316835..2107119d 100644 --- a/images/01-base/Dockerfile +++ b/images/01-base/Dockerfile @@ -1,6 +1,7 @@ FROM rancher/os-rootfs -RUN ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules -# Cleanup Buildroot + +COPY . / + RUN rm /sbin/poweroff /sbin/reboot /sbin/halt && \ sed -i '/^root/s!/bin/sh!/bin/bash!' /etc/passwd && \ echo 'RancherOS \n \l' > /etc/issue && \ @@ -30,16 +31,9 @@ RUN rm /sbin/poweroff /sbin/reboot /sbin/halt && \ adduser rancher docker && \ adduser rancher sudo && \ adduser docker sudo && \ - echo '%sudo ALL=(ALL) ALL' >> /etc/sudoers -COPY inputrc /etc/inputrc -COPY growpart /usr/bin/growpart -COPY start_ntp.sh /bin/start_ntp.sh -COPY dhcpcd/dhcpcd.enter-hook /etc/dhcpcd.enter-hook -COPY dhcpcd/10-mtu /lib/dhcpcd/dhcpcd-hooks/ -COPY dhcpcd/dhcpcd.debug /usr/share/logrotate/logrotate.d/ -COPY templates/dhcpcd.conf.tpl /etc/dhcpcd.conf.tpl -COPY templates/wpa_supplicant.conf.tpl /etc/wpa_supplicant.conf.tpl -RUN sed -i s/"partx --update \"\$part\" \"\$dev\""/"partx --update --nr \"\$part\" \"\$dev\""/g /usr/bin/growpart && \ + echo '%sudo ALL=(ALL) ALL' >> /etc/sudoers && \ + ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules && \ + sed -i s/"partx --update \"\$part\" \"\$dev\""/"partx --update --nr \"\$part\" \"\$dev\""/g /usr/bin/growpart && \ sed -i -e 's/duid/clientid/g' /etc/dhcpcd.conf && \ rm -f /etc/wpa_supplicant.conf && \ ln -s /usr/share/dhcpcd/hooks/10-wpa_supplicant /lib/dhcpcd/dhcpcd-hooks/ && \ diff --git a/images/01-base/templates/dhcpcd.conf.tpl b/images/01-base/etc/dhcpcd.conf.tpl similarity index 100% rename from images/01-base/templates/dhcpcd.conf.tpl rename to images/01-base/etc/dhcpcd.conf.tpl diff --git a/images/01-base/dhcpcd/dhcpcd.enter-hook b/images/01-base/etc/dhcpcd.enter-hook similarity index 100% rename from images/01-base/dhcpcd/dhcpcd.enter-hook rename to images/01-base/etc/dhcpcd.enter-hook diff --git a/images/01-base/inputrc b/images/01-base/etc/inputrc similarity index 100% rename from images/01-base/inputrc rename to images/01-base/etc/inputrc diff --git a/images/01-base/templates/wpa_supplicant.conf.tpl b/images/01-base/etc/wpa_supplicant.conf.tpl similarity index 100% rename from images/01-base/templates/wpa_supplicant.conf.tpl rename to images/01-base/etc/wpa_supplicant.conf.tpl diff --git a/images/01-base/growpart b/images/01-base/usr/bin/growpart similarity index 100% rename from images/01-base/growpart rename to images/01-base/usr/bin/growpart diff --git a/images/01-base/start_ntp.sh b/images/01-base/usr/bin/start_ntp.sh similarity index 100% rename from images/01-base/start_ntp.sh rename to images/01-base/usr/bin/start_ntp.sh diff --git a/images/01-base/dhcpcd/10-mtu b/images/01-base/usr/lib/dhcpcd/dhcpcd-hooks/10-mtu similarity index 100% rename from images/01-base/dhcpcd/10-mtu rename to images/01-base/usr/lib/dhcpcd/dhcpcd-hooks/10-mtu diff --git a/images/01-base/dhcpcd/dhcpcd.debug b/images/01-base/usr/share/logrotate/logrotate.d/dhcpcd.debug similarity index 100% rename from images/01-base/dhcpcd/dhcpcd.debug rename to images/01-base/usr/share/logrotate/logrotate.d/dhcpcd.debug diff --git a/images/02-acpid/.dockerignore b/images/02-acpid/.dockerignore new file mode 100644 index 00000000..4a246ec6 --- /dev/null +++ b/images/02-acpid/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +.dockerignore diff --git a/images/02-acpid/Dockerfile b/images/02-acpid/Dockerfile index e83a345c..3154ff7c 100644 --- a/images/02-acpid/Dockerfile +++ b/images/02-acpid/Dockerfile @@ -1,3 +1,2 @@ FROM rancher/os-base -COPY lid /etc/acpi/events/ -COPY suspend.sh /etc/acpi/suspend.sh +COPY . / diff --git a/images/02-acpid/lid b/images/02-acpid/etc/acpi/events/lid similarity index 100% rename from images/02-acpid/lid rename to images/02-acpid/etc/acpi/events/lid diff --git a/images/02-acpid/suspend.sh b/images/02-acpid/etc/acpi/suspend.sh similarity index 100% rename from images/02-acpid/suspend.sh rename to images/02-acpid/etc/acpi/suspend.sh diff --git a/images/02-bootstrap/.dockerignore b/images/02-bootstrap/.dockerignore new file mode 100644 index 00000000..4a246ec6 --- /dev/null +++ b/images/02-bootstrap/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +.dockerignore diff --git a/images/02-bootstrap/Dockerfile b/images/02-bootstrap/Dockerfile index 554d121e..3154ff7c 100644 --- a/images/02-bootstrap/Dockerfile +++ b/images/02-bootstrap/Dockerfile @@ -1,3 +1,2 @@ FROM rancher/os-base -COPY auto-format.sh /usr/sbin/ -COPY od-1m0 / +COPY . / diff --git a/images/02-bootstrap/auto-format.sh b/images/02-bootstrap/usr/sbin/auto-format.sh similarity index 100% rename from images/02-bootstrap/auto-format.sh rename to images/02-bootstrap/usr/sbin/auto-format.sh diff --git a/images/02-logrotate/.dockerignore b/images/02-logrotate/.dockerignore new file mode 100644 index 00000000..4a246ec6 --- /dev/null +++ b/images/02-logrotate/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +.dockerignore diff --git a/images/02-logrotate/Dockerfile b/images/02-logrotate/Dockerfile index 74325f8c..df2f76a5 100644 --- a/images/02-logrotate/Dockerfile +++ b/images/02-logrotate/Dockerfile @@ -1,5 +1,3 @@ FROM rancher/os-base -COPY logrotate.d/ /usr/share/logrotate/logrotate.d/ -COPY logrotate.conf /etc/logrotate.conf -COPY entrypoint.sh /usr/bin/entrypoint.sh +COPY . / ENTRYPOINT ["/usr/bin/entrypoint.sh"] diff --git a/images/02-logrotate/logrotate.conf b/images/02-logrotate/etc/logrotate.conf similarity index 100% rename from images/02-logrotate/logrotate.conf rename to images/02-logrotate/etc/logrotate.conf diff --git a/images/02-logrotate/entrypoint.sh b/images/02-logrotate/usr/bin/entrypoint.sh similarity index 100% rename from images/02-logrotate/entrypoint.sh rename to images/02-logrotate/usr/bin/entrypoint.sh diff --git a/images/02-logrotate/logrotate.d/docker b/images/02-logrotate/usr/share/logrotate/logrotate.d/docker similarity index 100% rename from images/02-logrotate/logrotate.d/docker rename to images/02-logrotate/usr/share/logrotate/logrotate.d/docker diff --git a/images/02-syslog/.dockerignore b/images/02-syslog/.dockerignore new file mode 100644 index 00000000..4a246ec6 --- /dev/null +++ b/images/02-syslog/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +.dockerignore diff --git a/images/02-syslog/Dockerfile b/images/02-syslog/Dockerfile index 9334f448..df2f76a5 100644 --- a/images/02-syslog/Dockerfile +++ b/images/02-syslog/Dockerfile @@ -1,4 +1,3 @@ FROM rancher/os-base -COPY logrotate.d/ /usr/share/logrotate/logrotate.d/ -COPY entrypoint.sh /usr/bin/entrypoint.sh +COPY . / ENTRYPOINT ["/usr/bin/entrypoint.sh"] diff --git a/images/02-syslog/entrypoint.sh b/images/02-syslog/usr/bin/entrypoint.sh similarity index 100% rename from images/02-syslog/entrypoint.sh rename to images/02-syslog/usr/bin/entrypoint.sh diff --git a/images/02-syslog/logrotate.d/syslog b/images/02-syslog/usr/share/logrotate/logrotate.d/syslog similarity index 100% rename from images/02-syslog/logrotate.d/syslog rename to images/02-syslog/usr/share/logrotate/logrotate.d/syslog