| peusterm | c89ba38 | 2016-07-08 13:46:32 +0200 | [diff] [blame] | 1 | # Copyright (c) 2015 SONATA-NFV and Paderborn University |
| 2 | # ALL RIGHTS RESERVED. |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
| 15 | # |
| 16 | # Neither the name of the SONATA-NFV [, ANY ADDITIONAL AFFILIATION] |
| 17 | # nor the names of its contributors may be used to endorse or promote |
| 18 | # products derived from this software without specific prior written |
| 19 | # permission. |
| 20 | # |
| 21 | # This work has been performed in the framework of the SONATA project, |
| 22 | # funded by the European Commission under Grant number 671517 through |
| 23 | # the Horizon 2020 and 5G-PPP programmes. The authors would like to |
| 24 | # acknowledge the contributions of their colleagues of the SONATA |
| 25 | # partner consortium (www.sonata-nfv.eu). |
| 26 | |
| stevenvanrossem | 9b80576 | 2017-02-10 00:03:44 +0100 | [diff] [blame] | 27 | FROM ubuntu:trusty |
| cgeoffroy | 2f22ebc | 2016-03-07 19:05:47 +0100 | [diff] [blame] | 28 | |
| peusterm | 3055e70 | 2016-04-16 16:48:12 +0200 | [diff] [blame] | 29 | ENV SON_EMU_IN_DOCKER 1 |
| 30 | |
| stevenvanrossem | 9b80576 | 2017-02-10 00:03:44 +0100 | [diff] [blame] | 31 | RUN apt-get clean |
| stevenvanrossem | a71957a | 2017-02-08 12:11:39 +0100 | [diff] [blame] | 32 | RUN apt-get update \ |
| stevenvanrossem | ca164cf | 2017-05-03 16:26:01 +0200 | [diff] [blame] | 33 | && apt-get install -y git aptitude build-essential python-setuptools python-dev software-properties-common |
| cgeoffroy | 2f22ebc | 2016-03-07 19:05:47 +0100 | [diff] [blame] | 34 | |
| felipevicens | 65835b9 | 2016-06-23 19:00:36 +0200 | [diff] [blame] | 35 | |
| stevenvanrossem | a71957a | 2017-02-08 12:11:39 +0100 | [diff] [blame] | 36 | # install containernet |
| stevenvanrossem | ca164cf | 2017-05-03 16:26:01 +0200 | [diff] [blame] | 37 | RUN apt-get install -y curl iptables && \ |
| cgeoffroy | 3b57e3d | 2017-03-03 13:28:30 +0100 | [diff] [blame] | 38 | curl https://bootstrap.pypa.io/get-pip.py | python2 |
| 39 | |
| stevenvanrossem | 9b80576 | 2017-02-10 00:03:44 +0100 | [diff] [blame] | 40 | # install docker |
| 41 | RUN curl -fsSL https://get.docker.com/gpg | apt-key add - |
| 42 | RUN curl -fsSL https://get.docker.com/ | sh |
| 43 | |
| peusterm | c177a0d | 2017-07-20 14:46:18 +0200 | [diff] [blame] | 44 | RUN pip install -U urllib3==1.21.1 |
| 45 | RUN pip install -U setuptools pyparsing docker python-iptables |
| stevenvanrossem | a71957a | 2017-02-08 12:11:39 +0100 | [diff] [blame] | 46 | WORKDIR / |
| 47 | RUN git clone https://github.com/containernet/containernet.git |
| stevenvanrossem | 9b80576 | 2017-02-10 00:03:44 +0100 | [diff] [blame] | 48 | RUN containernet/util/install.sh |
| 49 | WORKDIR containernet/ |
| 50 | RUN make develop |
| stevenvanrossem | a71957a | 2017-02-08 12:11:39 +0100 | [diff] [blame] | 51 | |
| 52 | # install son-emu |
| stevenvanrossem | 9b80576 | 2017-02-10 00:03:44 +0100 | [diff] [blame] | 53 | RUN echo 'install son-emu' |
| 54 | RUN apt-get install -y python-dev python-zmq libzmq-dev libffi-dev libssl-dev |
| 55 | RUN pip install -U zerorpc tabulate argparse networkx six ryu oslo.config pytest Flask flask_restful requests prometheus_client pyaml |
| stevenvanrossem | e261467 | 2017-02-11 14:47:29 +0100 | [diff] [blame] | 56 | WORKDIR / |
| 57 | #avoid pulling not the latest git, copy the current dir, to run this from Jenkins |
| 58 | #RUN git clone https://github.com/sonata-nfv/son-emu.git |
| 59 | COPY . /son-emu |
| stevenvanrossem | 9b80576 | 2017-02-10 00:03:44 +0100 | [diff] [blame] | 60 | WORKDIR son-emu/ |
| 61 | RUN python setup.py develop |
| 62 | WORKDIR / |
| stevenvanrossem | 8372e2f | 2016-07-16 23:47:11 +0200 | [diff] [blame] | 63 | RUN echo 'Done' |
| 64 | |
| cgeoffroy | 2f22ebc | 2016-03-07 19:05:47 +0100 | [diff] [blame] | 65 | |
| 66 | ENTRYPOINT ["/son-emu/utils/docker/entrypoint.sh"] |
| peusterm | c130523 | 2016-05-11 16:14:22 +0200 | [diff] [blame] | 67 | |
| stevenvanrossem | a71957a | 2017-02-08 12:11:39 +0100 | [diff] [blame] | 68 | # dummy GK, cAdvisor, Prometheus Push Gateway, son-emu REST API |
| 69 | EXPOSE 5000 8081 9091 5001 |