Use Alpine Linux to reduce size by 70%

This commit is contained in:
Patrick Double 2016-08-30 16:41:56 -05:00
parent 1cdc93bd2d
commit 17416530bc
3 changed files with 36 additions and 25 deletions

View File

@ -1,33 +1,15 @@
FROM debian:jessie
FROM alpine:3.4
MAINTAINER David Personette <dperson@gmail.com>
# Install samba
RUN export DEBIAN_FRONTEND='noninteractive' && \
apt-get update -qq && \
apt-get install -qqy --no-install-recommends samba \
$(apt-get -s dist-upgrade|awk '/^Inst.*ecurity/ {print $2}') &&\
useradd -c 'Samba User' -d /tmp -M -r smbuser && \
sed -i 's|^\( log file = \).*|\1/dev/stdout|' /etc/samba/smb.conf && \
sed -i 's|^\( unix password sync = \).*|\1no|' /etc/samba/smb.conf && \
sed -i '/Share Definitions/,$d' /etc/samba/smb.conf && \
echo ' security = user' >>/etc/samba/smb.conf && \
echo ' directory mask = 0775' >>/etc/samba/smb.conf && \
echo ' force create mode = 0664' >>/etc/samba/smb.conf && \
echo ' force directory mode = 0775' >>/etc/samba/smb.conf && \
echo ' force user = smbuser' >>/etc/samba/smb.conf && \
echo ' force group = users' >>/etc/samba/smb.conf && \
echo ' load printers = no' >>/etc/samba/smb.conf && \
echo ' printing = bsd' >>/etc/samba/smb.conf && \
echo ' printcap name = /dev/null' >>/etc/samba/smb.conf && \
echo ' disable spoolss = yes' >>/etc/samba/smb.conf && \
echo ' socket options = TCP_NODELAY' >>/etc/samba/smb.conf && \
echo '' >>/etc/samba/smb.conf && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/*
RUN apk add --no-cache samba bash && \
adduser -h /tmp -H -S smbuser && \
rm -rf /tmp/*
COPY samba.sh /usr/bin/
COPY smb.conf /etc/samba
VOLUME ["/etc/samba"]
EXPOSE 137 139 445
ENTRYPOINT ["samba.sh"]
ENTRYPOINT ["samba.sh"]

View File

@ -171,4 +171,4 @@ elif ps -ef | egrep -v grep | grep -q smbd; then
else
[[ ${NMBD:-""} ]] && ionice -c 3 nmbd -D
exec ionice -c 3 smbd -FS </dev/null
fi
fi

29
smb.conf Normal file
View File

@ -0,0 +1,29 @@
[global]
workgroup = WORKGROUP
dns proxy = no
log file = /dev/stdout
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = no
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
security = user
directory mask = 0775
force create mode = 0664
force directory mode = 0775
force user = smbuser
force group = users
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
socket options = TCP_NODELAY