如何在一台主机上运行Docker容器池,并在重启时保留其IP地址?
上下文 我想并行执行大量的测试套件。到 确保给定测试套件的结果不会受到 以前的测试套件的副作用,我希望每个测试套件 在干净、新初始化的环境中运行 环境的初始化代价太高,无法重复 在每个测试套件之间。因此,我想创建一个Docker 包含初始化系统的映像,用于运行每个测试套件 在一个新的Docker容器中,从该图像开始。自从 测试套件的数量很大,我想运行多个容器 (即测试套件)在同一主机上并行运行 不幸的是,在我的例子中,系统初始化步骤会产生一些错误 引用当前IP的特定于应用程序的配置文件 集装箱的地址。通过后续测试执行测试套件如何在一台主机上运行Docker容器池,并在重启时保留其IP地址?,docker,Docker,上下文 我想并行执行大量的测试套件。到 确保给定测试套件的结果不会受到 以前的测试套件的副作用,我希望每个测试套件 在干净、新初始化的环境中运行 环境的初始化代价太高,无法重复 在每个测试套件之间。因此,我想创建一个Docker 包含初始化系统的映像,用于运行每个测试套件 在一个新的Docker容器中,从该图像开始。自从 测试套件的数量很大,我想运行多个容器 (即测试套件)在同一主机上并行运行 不幸的是,在我的例子中,系统初始化步骤会产生一些错误 引用当前IP的特定于应用程序的配置文件 集装箱的
docker run
命令将失败,因为测试套件将看到
容器的IP地址与中包含的IP地址不同
应用程序配置文件(容器的IP地址为
每次重启时都会发生颠簸)
- 如何在单个主机上以编程方式运行多个Docker容器,确保每个容器在重新启动时保留自己的IP地址
- 当并行运行时,多个容器是否可以共享“相同”的IP地址,以便我只能初始化系统一次
入口点
时执行(例如在运行时开始时)。如果这对您来说太昂贵,您也可以将初始化放在映像中,但您必须在运行时对其进行破解
据我所知,没有办法使docker容器的IP与正在构建映像的容器的IP相对应