我们使用Microsoft SQL Server作为数据库和Flyway来管理它。现在,我想通过在我自己的Docker容器中启动Docker和Flyway中的SQL Server来测试Flyway脚本,该容器包含所有配置和所有Flyway数据库脚本(迁移)。
据我所知,在Flyway配置文件中不可能使用环境变量。理想情况下,这是可能的:
flyway.url=jdbc:sqlserver://${MSSQL_SERVICE_HOST}:${MSSQL_SERVICE_PORT};databaseName=testing_pp
flyway.user=testing_pp
flyway.password=${MSSQL_SERVICE_PASSWORD}
事实上,我需要了解独立Docker和OpenShift的最佳策略。我对两者都很陌生......
有没有办法从一个运行的Docker容器注入IP地址和端口到另一个?一个不涉及Docker Compose的?在OpenShift中这样做的正确方法是什么?我知道那里的pod从所有正在运行的pod中获取主机和端口作为环境变量(参见我的假设解决方案)。但是这些变量没有得到解决,也没有解决我的问题。
你是怎么做这样的测试的?
如果我找对你,问题是关于如何在没有docker-compose
的情况下连接两个docker容器。事实上,docker-compose
在这些术语中并没有增加太多 - 它只是自动化了几个步骤。
要连接容器,您必须:
docker network create foo
--network=foo
启动选项将两个容器连接到此网络--name=xyz
自动生成现在,您可以使用docker network create foo
docker run -d --rm --name=my-database --network=foo <SQLServerImageName>
docker run -d --rm --name=my-flyway --network=foo <FlyWayImageName>
从Flyway连接到SQL