构建指南:OAI CN5G Docker

本篇内容介绍如何使用Docker拉取OAI CN5G镜像。在进行此操作前,请先确保你的设备已安装Docker以及Docker Compose等相关应用,如果还未安装,请参考附录内容。

下载OAI CN5G配置文件

1
2
3
4
wget -O ~/oai-cn5g.zip https://gitlab.eurecom.fr/oai/openairinterface5g/-/archive/develop/openairinterface5g-develop.zip?path=doc/tutorial_resources/oai-cn5g
unzip ~/oai-cn5g.zip
mv ~/openairinterface5g-develop-doc-tutorial_resources-oai-cn5g/doc/tutorial_resources/oai-cn5g ~/oai-cn5g
rm -r ~/openairinterface5g-develop-doc-tutorial_resources-oai-cn5g ~/oai-cn5g.zip

拉取 OAI CN5G镜像

在上一步完成并安装Docker后,使用如下命令拉去Docker镜像。

1
2
cd ~/oai-cn5g
docker compose pull

如果这一步出现了拉取失败或者超时,请善用搜索引擎添加国内可用的Docker镜像源。下列内容可能会失效,请自行更改镜像源。

1
2
3
4
5
6
7
8
9
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.1panel.live",
]
}
EOF
sudo systemctl start docker;

启停以及查看OAI CN5G

启动OAI CN5G

1
2
cd ~/oai-cn5g
docker compose up -d

停止OAI CN5G

1
2
cd ~/oai-cn5g
docker compose down

Docker基础命令

查看当前运行容器

使用docker ps -a 查看当前运行的所有容器:

image-20240808134134222

当出现上述内容,则说明OAI CN5G启动正常。

查看某一容器的运行日志

使用docker logs -f <CONTAINER_NAMES>查看容器运行日志。其中,<CONTAINER_NAMES> 为使用 docekr ps 中最后一列 NAMES 的文本。如欲查看oai-amf 的运行日志,则使用:

1
docker logs -f oai-amf

即可查看,-f选项表示为跟随日志输出,即显示内容会是最新的日志内容。其他日志查看参数请参考 Docker logs 命令 的相关参考教程。

附录:使用代理无法下载安装Docker

2024年6月初,国内广大Docker镜像站关闭,如果先前已经安装了Docker那么可以使用其他镜像站拉取Docker镜像。如果先前没有安装Docker,这里给出当前可行的一个基于腾讯云的解决方案:

1
2
3
4
5
6
7
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/ \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

添加源和GPG Key后,使用如下命令更新软件源并安装:

1
2
3
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl status docker

最后把当前用户添加到Docker权限组里并重启:

1
2
sudo usermod -a -G docker $(whoami)
sudo reboot