从 基于docker容器的,OAI 5G全栈部署方案 (OAI 5G核心网 + OAI 5G接入网 + OAI 5G终端 + RF模拟器)中,我们可以知道,联署这个方案时,我们使用了ci-scripts/yaml_files/5g_f1_rfsimulator/docker-compose.yaml文件来进行docker容易的部署。
yaml文件的基本结构
yaml文件由版本,服务,网络三部分构成
版本:
version用来告诉docker当前配置文件语法版本,因为目前docker支持1, 2.x 和 3.x这三个版本的配置文件,所以yaml文件的最开头就会告诉docker当前配配置文件的版本号,使得docker可以正确的解析配置文件。目前主流的为 3.x版本。
服务:
services下面可以定义一个或者多个服务,启动后,每个服务对应一个docker容器,如下图中定义的了二个服务(即二个容器),一个是mysql,另外一个oai-du。每个服务下可以有一个或者多个关键定,用来定义这个服务的一些选项配置功能,一般来说一个服务必须要包括container_name:容器名字,image:容器镜像,network:当前容器使用的网络。
网络:
用于定义网络,可以定义一个或者多个网络,网络由一些必选的和一些可选的参数来共同完成一个网络的定义。每个网络下可以有一个或者多个关键定,用来定义这个网络,一般来说一个网络必须要包括container_name:容器名字,image:容器镜像,network:当前容器使用的网络
version: '3.8'
services:
mysql:
container_name: "rfsim5g-mysql"
image: mysql:8.0
networks:
public_net:
ipv4_address: 192.168.71.131
traffic_net:
ipv4_address: 192.168.72.134
oai-du:
image: oaisoftwarealliance/oai-gnb:develop
container_name: rfsim5g-oai-du
networks:
public_net:
ipv4_address: 192.168.71.142
networks:
public_net:
driver: bridge
name: rfsim5g-oai-public-net
ipam:
config:
- subnet: 192.168.71.128/26
driver_opts:
com.docker.network.bridge.name: "rfsim5g-public"
traffic_net:
driver: bridge
name: rfsim5g-oai-traffic_net-net
ipam:
config:
- subnet: 192.168.72.128/26
driver_opts:
com.docker.network.bridge.name: "rfsim5g-traffic"
OAI 5G全栈部署的yaml部署文件详解
这一章节中,会把详解注释直接写在yaml文件对应配置项的后面,以-----开头。重复的部分不重复解释。
version: '3.8' -----当前使用的yaml文件的版本号为3.8
services: -----以下定义多个容器
oai-nrf: -----定义容器oai-nrf
container_name: "rfsim5g-oai-nrf" -----定义oai-nrf容器的名字为oai-nrf
image: oaisoftwarealliance/oai-nrf:v1.5.0 -----定义oai-nrf容器使用的镜像
environment: -----以下定义oai-nrf容器使用的环境变量
- NRF_INTERFACE_NAME_FOR_