我有一个 Windows 10 主机,使用 docker desktop 4.6.1。我有一个docker-compose.yml
包含两个服务 vpn 和应用程序。我想要实现的是,docker的构建过程已经使用了vpn容器网络连接。
version: "3.8"
services:
vpn:
...
app:
...
network_mode: service:vpn
应用程序容器本身正确使用了 vpn 容器连接,因为我可以通过测试来验证这一点。但是构建过程似乎使用了主机网络。Dockers build 命令有一个network
ornetworkmode
参数,允许使用特定的容器网络。但这给了我一个错误:
docker-compose.yml
version: "3.8"
services:
vpn:
...
app:
build:
network: container:vpn
network_mode: service:vpn
docker compose up -d
buildkit 不支持网络模式“container:vpn”。您可以使用 buildx create 中的 network driver-opt 为您的构建器定义自定义网络。
我将如何在我的示例中使用 buildx?我对讨论上下文和端点的文档感到非常困惑。
1.) 将这两个服务拆分为两个单独的撰写文件
docker-compose-vpn.yml
docker-compose-app.yml
2.) 创建并启动 vpn 容器
3.) 创建一个新的 vpn 构建器实例
4.) 使用您的 buildx vpn 实例创建映像并将其发布 (
--load
) 到 docker。5.) 启动新的应用容器