OpenAirInterface 5G Core Network Docker Deployment : Pre-Requisites |
$ dpkg --list | grep docker
ii docker-ce 5:19.03.6~3-0~ubuntu-bionic amd64 Docker: the open-source application container engine
ii docker-ce-cli 5:19.03.6~3-0~ubuntu-bionic amd64 Docker CLI: the open-source application container engine
Also python3 (at least 3.6) shall be installed.
$ python3 --version
Python 3.6.9
CAUTION: do not forget to add your username to the docker
group
Otherwise you will have to run in sudo
mode.
$ sudo usermod -a -G docker myusername
On Centos 7.7 host:
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io
$ sudo systemctl start docker
$ docker info
Go to docker-hub and create an account.
- Ubuntu version: We need 2 base images:
ubuntu:bionic
andmysql/mysql:8.0
At the time of writing, the tested mysql version was 8.0.31
Currently we are working to support CentOS8
and RHEL8
distributions.
First, log in with your Docker Hub credentials. This is required if your organization has reached pulling limit as anonymous
.
$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username:
Password:
On a Ubuntu18.04 host:
$ docker pull ubuntu:bionic
$ docker pull mysql:8.0
Finally you may logoff --> your token is stored in plain text..
$ docker logout
CAUTION: THIS FIRST STEP IS MANDATORY.
Based on this recommendation:
$ sudo sysctl net.ipv4.conf.all.forwarding=1
$ sudo iptables -P FORWARD ACCEPT
CAUTION: THIS SECOND STEP MAY NOT BE NEEDED IN YOUR ENVIRONMENT.
- The default docker network (ie "bridge") is on "172.17.0.0/16" range.
- In our Eurecom private network, this IP address range is already in use.
- We have to change it to another IP range is free in our private network configuration.
- We picked a new/IDLE IP range by adding a
/etc/docker/daemon.json
file:
- If you have to do the same change:
- Select "192.168.17.1/24" range if it is free in your environment.
- Select another IP range if not.
{
"bip": "192.168.17.1/24"
}
Restart the docker daemon:
$ sudo service docker restart
$ docker info
Check the new network configuration:
$ docker network inspect bridge
[
{
"Name": "bridge",
....
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "192.168.17.1/24",
"Gateway": "192.168.17.1"
}
]
},
....
Here you have 2 choices:
- You can pull official images from Docker Hub like this.
- Or you are ready to build your-self the network function images.