gpt4 book ai didi

docker - 在 docker 中链接容器(RancherOS 和命令行)

转载 作者:行者123 更新时间:2023-12-01 23:16:10 25 4
gpt4 key购买 nike

  • 我运行 RancherOS 来运行 docker 容器
  • 我在 GUI 上创建了一个容器来运行我的数据库(图片:mysql,名称:r-mysql-e4e8df05)。不同的容器使用它。
  • 我可以在 GUI 上将其他容器链接到它 enter image description here
  • 这次我想在 jenkins 上自动创建和启动一个容器,但链接工作不正常

我的命令:

docker run -d --name=app-that-needs-mysql --link mysql:mysql myimages.mycompany.com/appthatneedsmysql

我得到错误:

Error response from daemon: Could not get container for mysql

我尝试了不同的方法:
1)

--link r-mysql-e4e8df05:mysql

错误:

Cannot link to /r-mysql-e4e8df05, as it does not belong to the default network

2)
尝试使用 --net 选项
运行:docker network ls

NETWORK ID          NAME                DRIVER              SCOPE
c..........e bridge bridge local
4..........c host host local
c..........a none null local
  • 使用 --net none 它成功了,但实际上它不起作用。应用无法连接到数据库
  • 使用--net host 错误消息冲突选项:主机类型网络不能与链接一起使用。这将导致未定义的行为
  • 使用--net bridge 错误消息:无法链接到/r-mysql-e4e8df05,因为它不属于默认网络

我还检查了运行此 mysql 的 rancher GUI: enter image description here

它得到一个 continer IP 开始于:10.X.X.X

我也尝试过添加 --net managed 但错误:network managed not found

我想我想念这个 docker 链接过程中的一些东西。 请给我一些想法,我怎样才能使这些工作。
(以前当我创建相同的容器并链接到 GUI 中的 mysql 时它正在工作)

最佳答案

嘿@Tomi,你可以在任何你喜欢的端口上从 rancher 公开 mysql 容器。这样你就不必链接容器,然后你的 Jenkins 产生的容器连接到主机上暴露端口上的容器。您还可以使用 rancher cli 使用 jenkins 在 rancher 中启动容器。这样一来,您就不必在主机网络上使用 mysql 了……一些用 Rancher 剥皮的方法。

关于docker - 在 docker 中链接容器(RancherOS 和命令行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49273718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com