如何配置docker-compose使构建容器启动时无网络访问?
如何修改docker-compose让容器无网络启动?
要让构建容器启动时完全无网络访问,只需对docker-compose文件做以下关键修改:
- 移除原配置中的
network_mode: host,替换为network_mode: none。Docker的none网络模式会让容器完全断开所有网络连接,既无法访问互联网,也无法和主机/其他容器通信,正好满足你测试无网络构建场景的需求。
修改后的完整docker-compose文件示例:
version: "3.7" services: build-component-1: image: base-image:1 network_mode: none volumes: - "$PWD:/build-dir" command: ./build.sh build_app1 working_dir: /build-dir privileged: true environment: - USER=root - VAR1=$VAR1 env_file: - version.txt
补充说明
使用network_mode: none后,容器内不会有任何可用的网络接口,此时如果你的构建脚本还尝试联网下载依赖,就会直接失败,这正好能帮你验证镜像是否已经预装了所有必要的构建依赖。如果构建能成功完成,就说明你的镜像已经满足离线构建的要求了。
内容的提问来源于stack exchange,提问作者Ashish Pratap
相关产品推荐
相关产品推荐

