I build a docker container with alpine, s6 and samba. Everything looks fine, but when it start smbd it crashes right before up without anything in logfiles.
added interface eth0 ip=172.17.0.6 bcast=172.17.255.255
netmask=255.255.0.0
loaded services
Netbios name list:-
my_netbios_names[0]="ADD372A5C9D7"
INFO: Profiling support unavailable in this build.
Standard input is not a socket, assuming -D option
Becoming a daemon.
exit_daemon: STATUS=daemon failed to start: Failed to create session, error code 1
s6 run service:
#!/usr/bin/execlineb -P
smbd --foreground --log-stdout
Dockerfile:
FROM alpine:edge
# env variables
ENV S6_VERSION v1.21.2.1
# install s6-overlay
ADD https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-amd64.tar.gz /tmp/
RUN tar xzf /tmp/s6-overlay-amd64.tar.gz -C /
RUN apk add --no-cache \
bash shadow \
samba-common-tools \
samba-client \
samba-server \
&& rm -rf /var/cache/apk/*
# add local files
COPY root/ /
EXPOSE 445/tcp
CMD ["/init"]
Add --no-process-group
flag to smbd.
As you did not share your configuration but I will recommend building your own docker image from this repository. I tired at locally and its working fine. Here is Docker file
FROM alpine:latest
MAINTAINER Peter Winter <[email protected]>
LABEL Description="Simple and lightweight Samba docker container, based on Alpine Linux." Version="0.1"
# update the base system
RUN apk update && apk upgrade
# install samba and supervisord and clear the cache afterwards
RUN apk add samba samba-common-tools supervisor && rm -rf /var/cache/apk/*
# create a dir for the config and the share
RUN mkdir /config /shared
# copy config files from project folder to get a default config going for samba and supervisord
COPY *.conf /config/
# add a non-root user and group called "rio" with no password, no home dir, no shell, and gid/uid set to 1000
RUN addgroup -g 1000 rio && adduser -D -H -G rio -s /bin/false -u 1000 rio
# create a samba user matching our user from above with a very simple password ("letsdance")
RUN echo -e "letsdance\nletsdance" | smbpasswd -a -s -c /config/smb.conf rio
# volume mappings
VOLUME /config /shared
# exposes samba's default ports (137, 138 for nmbd and 139, 445 for smbd)
EXPOSE 137/udp 138/udp 139 445
ENTRYPOINT ["supervisord", "-c", "/config/supervisord.conf"]
For samba.conf and other configuration you can check
samba-alpine-docker
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With