Dockerfile 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. FROM ubuntu:16.04
  2. RUN apt-get update && apt-get install -yq git vim build-essential dhcping
  3. RUN apt-get update && apt-get install -yq dh-autoreconf automake
  4. RUN apt-get update && apt-get install -yq libssl-dev liblog4cplus-dev libboost-dev libmysqlclient-dev libboost-all-dev
  5. RUN git clone https://github.com/isc-projects/kea.git /opt/kea
  6. RUN cd /opt/kea && autoreconf --install
  7. RUN cd /opt/kea && ./configure --with-dhcp-mysql --enable-shell
  8. RUN cd /opt/kea && make install
  9. RUN cd /opt/kea && ldconfig
  10. RUN apt-get update && apt-get install -yq mysql-client
  11. EXPOSE 67/udp
  12. EXPOSE 68/udp
  13. ENV KEA_MSG_COMPILER=/usr/local/bin/kea-msg-compiler
  14. ENV KEA_LIB=/opt/kea/src/lib
  15. ENV KEA_INCLUDE=/opt/kea/src/lib
  16. RUN mkdir ~/.ssh
  17. RUN ssh-keyscan -H -p 22 bitbucket.org >> ~/.ssh/known_hosts
  18. COPY keys/ /opt/keys
  19. RUN chmod 0600 /opt/keys/bitbucket.id_rsa
  20. RUN eval $(ssh-agent) && ssh-add /opt/keys/bitbucket.id_rsa && git clone git@bitbucket.org:ikflowdat/kea-cm-hook.git
  21. EXPOSE 67/udp
  22. EXPOSE 68/udp
  23. ENV KEA_MSG_COMPILER=/usr/local/bin/kea-msg-compiler
  24. ENV KEA_LIB=/opt/kea/src/lib
  25. ENV KEA_INCLUDE=/opt/kea/src/lib
  26. RUN cd kea-cm-hook && make
  27. RUN git clone git://github.com/alanxz/rabbitmq-c.git
  28. RUN apt-get update && apt-get install -yq cmake
  29. RUN cd rabbitmq-c && mkdir build && cd build && cmake .. && cmake --build .
  30. RUN cd rabbitmq-c/build && make && make install
  31. RUN cp /usr/local/lib/x86_64-linux-gnu/librabbitmq.so /usr/local/lib/librabbitmq.so
  32. RUN git clone https://github.com/akalend/amqpcpp
  33. RUN cd amqpcpp && make && make install
  34. RUN cp amqpcpp/libamqpcpp.a /usr/local/lib/libamqpcpp.a
  35. RUN cp amqpcpp/libamqpcpp.so /usr/local/lib/libamqpcpp.so
  36. RUN cp /usr/local/lib/libamqpcpp.so /usr/local/lib/x86_64-linux-gnu/libamqpcpp.so
  37. COPY hook/ hook/
  38. RUN cd hook/dhcp && make
  39. COPY script.sh /opt/script.sh
  40. RUN chmod +x /opt/script.sh
  41. CMD /opt/script.sh