Skip to content
Snippets Groups Projects
Forked from oai / cn5g / oai-cn5g-fed
766 commits behind the upstream repository.
OpenAirInterface 5G Core Network Docker Deployment : Building Container Images

1. Retrieve the correct network function branches

  • TODO Limited attach
  • TODO4G SPGW-U as UPF
CNF Name Branch Name Commit at time of writing Ubuntu 18.04 RHEL8
AMF develop fb06701a29a964d9c9822d0eda3792208194519d X Releasing Soon
SMF develop 0dba68d6a01e1dad050f47437647f62d40acaec6 X Releasing Soon
NRF develop 0e877cb5b80a9c74fa6abca60b95e2d3d22f7a52 X Releasing Soon
SPGW-U-TINY gtp_extension_header f13f4a5e2807355d23f136119f85fbf48ed569ea X Releasing Soon
$ git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
$ cd oai-cn5g-fed
$ git checkout master
$ git pull origin master
$ ./scripts/syncComponents.sh -h
Openair-CN components synchronization
   Original Author: Raphael Defosseux

   Requirement: git shall be installed

   By default (no options) all components will be synchronized to
     the 'develop' branch.
   Each component can be synchronized a dedicated branch.

Usage:
------
    syncComponents.sh [OPTIONS]

Options:
--------
    --nrf-branch ####
    Specify the source branch for the OAI-NRF component

    --amf-branch ####
    Specify the source branch for the OAI-AMF component

    --smf-branch ####
    Specify the source branch for the OAI-SMF component

    --spgwu-tiny-branch ####
    Specify the source branch for the OAI-SPGW-U-TINY component

    --help OR -h
    Print this help message.

$ ./scripts/syncComponents.sh --spgwu-tiny-branch gtp_extension_header
---------------------------------------------------------
OAI-AMF    component branch : develop
OAI-SMF    component branch : develop
OAI-NRF    component branch : develop
OAI-SPGW-U component branch : gtp_extension_header
---------------------------------------------------------
....

2. Generic Parameters

Here in our network configuration, we need to pass the "GIT PROXY" configuration.

  • If you do not need, remove the --build-arg NEEDED_GIT_PROXY=".." option.
  • If you do need it, change with your proxy value.

3. Build AMF Image

3.1 On a Ubuntu 18.04 Host

$ docker build --target oai-amf --tag oai-amf:production \
               --file component/oai-amf/docker/Dockerfile.ubuntu.18.04 \
               --build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
               component/oai-amf
$ docker image prune --force
$ docker image ls
oai-amf                 production             f478bafd7a06        1 minute ago          258MB
...

4. Build SMF Image

4.1 On a Ubuntu 18.04 Host

$ docker build --target oai-smf --tag oai-smf:production \
               --file component/oai-smf/docker/Dockerfile.ubuntu.18.04 \
               --build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" \
               component/oai-smf
$ docker image prune --force
$ docker image ls
oai-smf                 production             f478bafd7a06        1 minute ago          274MB
...

5. Build NRF Image

5.1 On a Ubuntu 18.04 Host

$ docker build --target oai-nrf --tag oai-nrf:production \
               --file component/oai-nrf/ci-scripts/Dockerfile.ubuntu18.04 \
               --build-arg EURECOM_PROXY="http://proxy.eurecom.fr:8080" component/oai-nrf
$ docker image prune --force
$ docker image ls
oai-nrf                 production             04334b29e103        1 minute ago          280MB
...

6. Build SPGW-U Image

6.1 On a Ubuntu 18.04 Host

$ docker build --target oai-spgwu-tiny --tag oai-spgwu-tiny:production \
               --file component/oai-upf-equivalent/ci-scripts/Dockerfile.ubuntu18.04 \
               --build-arg EURECOM_PROXY="http://proxy.eurecom.fr:8080" component/oai-upf-equivalent
$ docker image prune --force
$ docker image ls
oai-spgwu-tiny          production             dec6311cef3b        1 minute ago          255MB
...

You are ready to Configure the Containers.