| |
@@ -6,41 +6,46 @@
|
| |
# See LICENSE for details.
|
| |
# --- END COPYRIGHT BLOCK ---
|
| |
|
| |
- FROM fedora:26
|
| |
+ FROM fedora:latest
|
| |
MAINTAINER 389-devel@lists.fedoraproject.org
|
| |
- EXPOSE 389 636
|
| |
- ENV container docker
|
| |
-
|
| |
- RUN mkdir -p /usr/local/src
|
| |
- WORKDIR /usr/local/src
|
| |
+ EXPOSE 3389 3636
|
| |
|
| |
ADD ./ /usr/local/src/389-ds-base
|
| |
-
|
| |
- RUN dnf upgrade -y && \
|
| |
- dnf install --setopt=strict=False -y \
|
| |
- @buildsys-build rpm-build make bzip2 git rsync \
|
| |
- `grep -E "^(Build)?Requires" 389-ds-base/rpm/389-ds-base.spec.in | grep -v -E '(name|MODULE)' | awk '{ print $2 }' | sed 's/%{python3_pkgversion}/3/g' | grep -v "^/" | grep -v pkgversion | sort | uniq | tr '\n' ' '` && \
|
| |
+ WORKDIR /usr/local/src/389-ds-base
|
| |
+
|
| |
+ # install dependencies
|
| |
+ RUN dnf upgrade -y \
|
| |
+ && dnf install --setopt=strict=False -y @buildsys-build rpm-build make bzip2 git rsync \
|
| |
+ `grep -E "^(Build)?Requires" rpm/389-ds-base.spec.in \
|
| |
+ | grep -v -E '(name|MODULE)' \
|
| |
+ | awk '{ print $2 }' \
|
| |
+ | sed 's/%{python3_pkgversion}/3/g' \
|
| |
+ | grep -v "^/" \
|
| |
+ | grep -v pkgversion \
|
| |
+ | sort | uniq \
|
| |
+ | tr '\n' ' '` \
|
| |
+ && dnf clean all
|
| |
+
|
| |
+ # build
|
| |
+ RUN make -f rpm.mk rpms || sh -c 'echo "build failed, sleeping for some time to allow you debug" ; sleep 3600'
|
| |
+
|
| |
+ RUN dnf install -y dist/rpms/*389*.rpm && \
|
| |
dnf clean all
|
| |
|
| |
+ # Link some known static locations to point to /data
|
| |
+ RUN mkdir -p /data/config && \
|
| |
+ mkdir -p /data/ssca && \
|
| |
+ mkdir -p /data/run && \
|
| |
+ mkdir -p /var/run/dirsrv && \
|
| |
+ ln -s /data/config /etc/dirsrv/slapd-localhost && \
|
| |
+ ln -s /data/ssca /etc/dirsrv/ssca && \
|
| |
+ ln -s /data/run /var/run/dirsrv
|
| |
|
| |
- ### CHANGE THIS TO A ./configure and build that way.
|
| |
-
|
| |
- RUN cd 389-ds-base && \
|
| |
- PERL_ON=0 RUST_ON=1 make -f rpm.mk rpms
|
| |
-
|
| |
- RUN dnf install -y 389-ds-base/dist/rpms/*389*.rpm && \
|
| |
- dnf clean all
|
| |
-
|
| |
- # Create the example setup inf. It's valid for containers!
|
| |
- # Build the instance from the new installer tools.
|
| |
- RUN /usr/sbin/dscreate create-template > /root/ds-setup.inf && /usr/sbin/dscreate -v from-file /root/ds-setup.inf --containerised
|
| |
+ VOLUME /data
|
| |
|
| |
- # Finally add the volumes, they will inherit the contents of these directories.
|
| |
- VOLUME /etc/dirsrv
|
| |
- VOLUME /var/log/dirsrv
|
| |
- VOLUME /var/lib/dirsrv
|
| |
+ #USER dirsrv
|
| |
|
| |
- # Or, run them as dirsrv
|
| |
- USER dirsrv
|
| |
- CMD ["/usr/sbin/ns-slapd", "-d", "0", "-D", "/etc/dirsrv/slapd-localhost", "-i", "/var/run/dirsrv/slapd-localhost.pid"]
|
| |
+ HEALTHCHECK --start-period=5m --timeout=5s --interval=5s --retries=2 \
|
| |
+ CMD /usr/sbin/dscontainer -H
|
| |
|
| |
+ CMD [ "/usr/sbin/dscontainer", "-r" ]
|
| |
I followed README.md, navigated to docker/389-ds-fedora and tried to build it. Current
pwd
doesn't have 389-ds-base sources, so make rpms failed down the line.How this container build should be executed?