docker容器选择不同的网络,尽管从未设置过任何网络
在Docker中,我们可以通过选择不同的网络来为容器提供网络连接。令人惊讶的是,即使我们从未明确设置过任何网络,Docker仍然会为容器分配默认网络。这个问题困扰着许多开发者,因为他们可能会遇到一些与网络配置相关的问题。在本文中,我们将通过php小编柚子的帮助,详细解释为什么Docker容器会有默认网络,以及如何在不同网络之间进行选择。
问题内容
我在为 go 服务设置 docker 配置时遇到了麻烦。以下是我的设置概述
go_binary( name = "main_arm64", embed = [":server_lib"], goarch = "arm64", goos = "linux", visibility = ["//visibility:public"], ) container_image( name = "ww_server_image", base = "@go_image_static_arm64//image", entrypoint = ["/main_arm64"], files = [":main_arm64"], ports = [ "8080", "3306", ], )
我有一个在 http://localhost:8080
上运行的 graphql playgroud (http),尽管端口据称已公开,但我无法访问 playground ui。
我想做的是:
- 能够访问 graphql playground 以及容器内其他端口上运行的任何其他 api
- 能够从我的 dockerized go 应用向单独的 mysql 容器发出请求(我不知道如何将它们与
rules_docker
放在同一网络上)。 docker exec -it ... /bin/bash
到我的 docker 容器中(这不起作用,因为未安装 bash,但我不知道如何通过此 container_image 命令安装 bash) 错误如下:
oci runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $path: unknown
如果我获取生成的 docker 镜像 id 并运行 docker run -p 8080:8080 image_id
,我可以访问 graphql playground,但无法与 mysql 容器通信
如果我按如下方式更改网络: docker run --network=host -p 8080:8080 image_id
dockerized go 应用程序可以成功与 mysql 容器通信,但随后 graphql playground 变得无法访问。仅当我维护 --network=bridge
时,graphql 游乐场才可访问。我不确定为什么 mysql 也不使用 bridge
,因为我在启动它时从未指定网络。这就是我获得 mysql 容器的方式
docker run -p 3306:3306 --name my-db -e MYSQL_ROOT_PASSWORD=testing -d mysql:8.0.31
解决方法
答案在这里: 无法使用 go 和 docker 连接到 mysql 服务器 - 拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝
事实证明我需要使用以下地址实际访问 mysql,因为 mac 上的 docker 使用 linux vm:
docker.for.mac.localhost:3306
以上是docker容器选择不同的网络,尽管从未设置过任何网络的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

自 2009 年问世以来,比特币成为加密货币界的领头羊,其价格经历了巨大的波动。为了提供全面的历史概述,本文汇集了从 2009 年到 2025 年的比特币价格数据,涵盖了重大的市场事件、市场情绪变化和影响价格走势的重要因素。

比特币,作为一种加密货币,自问世以来经历了显着的市场波动。本文将提供比特币自诞生以来的历史价格总览,帮助读者了解其价格趋势和关键时刻。通过分析比特币的历史价格数据,我们可以了解市场对其价值评估、影响其波动的因素,并为未来投资决策提供依据。

比特币自 2009 年创世以来,价格经历多次大幅波动,最高涨至 2021 年 11 月的 69,044.77 美元,最低跌至 2018 年 12 月的 3,191.22 美元。截至 2024 年 12 月,最新价格突破 100,204 美元。

实时比特币美元价格 影响比特币价格的因素 预测比特币未来价格的指标 以下是 2018-2024 年比特币价格的一些关键信息:

比特币历史价格重要节点2009 年1 月 3 日:创世区块生成,第一个比特币产生,价值为 0 美元。10 月 5 日:第一笔比特币交易,一名程序员用 10,000 比特币购买了两个披萨,相当于 0.008 美元。2010 年2 月 9 日:Mt. Gox 交易所上线,成为比特币早期交易的主要平台。5 月 22 日:比特币首次突破 1 美元。7 月 17 日:比特币价格暴跌至 0.008 美元,触及历史低点。2011 年2 月 9 日:比特币价格首次突破 10 美元。4 月 10 日:Mt. Go

ChatGPT时代的技术问答社区:思否(SegmentFault)的应对策略StackOverflow...

虚拟币资金费率是在衍生品交易中对持有仓位的交易者收取的费用。它反映了合约到期时现货市场价格和期货合约价格之间的溢价或贴水。当现货价格高于期货价格时,资金费率为负,这意味着做空头寸的交易者向做多头寸的交易者支付费用。相反,当现货价格低于期货价格时,资金费率为正,这意味着做多头寸的交易者向做空头寸的交易者支付费用。

如何实现分段器的45度曲线效果?在实现分段器的过程中,如何让点击左侧按钮时右侧边框变成45度曲线,而点�...
