metasploit-framework/Dockerfile

55 lines
1.2 KiB
Docker
Raw Normal View History

FROM ruby:2.4.2-alpine
MAINTAINER Rapid7
2017-04-22 08:10:00 +08:00
ARG BUNDLER_ARGS="--jobs=8 --without development test coverage"
ENV APP_HOME /usr/src/metasploit-framework/
ENV MSF_USER msf
2017-05-17 23:18:58 +08:00
ENV NMAP_PRIVILEGED=""
WORKDIR $APP_HOME
COPY Gemfile* m* Rakefile $APP_HOME
COPY lib $APP_HOME/lib
RUN apk update && \
2017-04-22 08:10:00 +08:00
apk add \
sqlite-libs \
nmap \
nmap-scripts \
nmap-nselibs \
2017-04-22 08:10:00 +08:00
postgresql-libs \
ncurses \
libcap \
2017-04-22 08:10:00 +08:00
&& apk add --virtual .ruby-builddeps \
autoconf \
bison \
build-base \
ruby-dev \
openssl-dev \
readline-dev \
sqlite-dev \
postgresql-dev \
libpcap-dev \
libxml2-dev \
libxslt-dev \
yaml-dev \
zlib-dev \
ncurses-dev \
2017-07-17 22:41:47 +08:00
git \
2017-04-22 08:10:00 +08:00
&& echo "gem: --no-ri --no-rdoc" > /etc/gemrc \
2017-08-28 23:14:46 +08:00
&& gem update --system \
2017-08-09 21:34:23 +08:00
&& gem install bundler \
2017-04-22 08:10:00 +08:00
&& bundle install --system $BUNDLER_ARGS \
&& apk del .ruby-builddeps \
&& rm -rf /var/cache/apk/*
RUN adduser -g msfconsole -D $MSF_USER
2017-04-27 16:55:03 +08:00
RUN /usr/sbin/setcap cap_net_raw,cap_net_bind_service=+eip $(which ruby)
2017-05-17 22:17:30 +08:00
RUN /usr/sbin/setcap cap_net_raw,cap_net_bind_service=+eip /usr/bin/nmap
2017-04-27 16:55:03 +08:00
USER $MSF_USER
ADD ./ $APP_HOME
CMD ["./msfconsole", "-r", "docker/msfconsole.rc"]