gpt4 book ai didi

docker - 让 TeamCity 在 Docker 上运行

转载 作者:行者123 更新时间:2023-12-02 18:16:08 27 4
gpt4 key购买 nike

我是 TeamCity 和 Docker 的新手。我正在努力获得一个在我的本地机器上运行和使用 TeamCity 的 Docker 容器。我尝试了几件事,但无济于事:

我按照说明安装了 Docker for Mac here .然后我尝试运行以下命令,记录为 here ,用于在 docker 中设置 teamcity:

    docker run -it --name teamcity-server-instance \
-v c:\docker\data:/data/teamcity_server/datadir \
-v c:\docker\logs:/opt/teamcity/logs \
-p 8111:8111 \
jetbrains/teamcity-server

这返回了以下错误:docker:来自守护进程的错误响应:无效的绑定(bind)挂载规范“c:dockerdata:/data/teamcity_server/datadir”:无效模式:/data/teamcity_server/datadir。

采取不同的策略,我尝试按照说明 here - 我尝试运行以下命令:
    docker run -it --name teamcity -p 8111:8111 sjoerdmulder/teamcity 

终端表明它正在启动一个 Web 服务器,但我无法在 localhost 和 localhost:8111 浏览到它(错误 ERR_SOCKET_NOT_CONNECTED 没有端口,ERR_CONNECTION_REFUSED 有端口)。

由于带有 docker run 命令的网站说要通过 Docker Toolbox 安装 Docker,因此我将其安装在他们指向的位置( here)。然后我尝试了
    docker-machine ip default

他们建议的命令,但它不起作用,错误“主机不存在:“默认”。这是有道理的,因为网站说“默认”虚拟机将通过运行 Docker Quickstart 创建,而我没有这样做,但他们没有提供任何指向 Docker Quickstart 的链接,所以我不知道他们在说什么关于。

为了尝试获取容器运行的 IP 地址,我尝试了这个命令
    docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

上面列出了正在运行的容器的名称,每个容器后跟一个连字符,然后什么也没有。我也试过
    docker ps -a

这也列出了正在运行的容器,但没有给出 IP。此外,端口为空白,状态为“退出 (130) 4 分钟前”,因此容器在启动后似乎没有保持事件状态。

我也再次尝试使用端口 80,希望这会使网站显示在 localhost:
    docker run -it --name teamcity2 -p 80:80 sjoerdmulder/teamcity

所以在这一点上,我完全感到困惑和受阻——我根本无法按照 hub.docker.com 上的说明启动服务器,而且我不知道如何浏览到启动的站点其他说明。

我将非常感谢任何帮助!

最佳答案

JetBrains 现在提供 official docker images对于 TeamCity。我建议从这些开始。

TeamCity 中的示例命令 server图像看起来像这样

docker run -it --name teamcity-server-instance  \
-v <path to data directory>:/data/teamcity_server/datadir \
-v <path to logs directory>:/opt/teamcity/logs \
-p <port on host>:8111 \
jetbrains/teamcity-server

这看起来很像你的第一次尝试。但是, c:\docker\data是 Windows 文件路径。你说你在mac上运行它,所以这绝对行不通。

一旦 TeamCity 启动,它应该在端口 8111 上可用。这就是 -p 8111:8111命令的一部分。它将您机器上的端口 8111 映射到 VM Docker for Mac 创建的用于运行容器的端口 8111。 ERR_CONNECTION_REFUSED可能是由几件事引起的。两种最可能的可能性是
  • TeamCity 可能需要一些时间才能启动,也许您没有给它足够的时间。解决方法是等待。
  • -it将以交互模式启动 TeamCity 容器。如果退出运行命令的终端窗口,容器也可能会终止并且无法访问。解决方法是不要关闭窗口或运行detached中的容器。模式。


  • 这里有一个很好的概述 Docker for Mac 和 Docker Toolbox 之间的区别: Docker for Mac vs. Docker Toolbox .你不需要两者,在大多数情况下,你会想要使用 Docker for Mac 在本地测试东西。

    关于docker - 让 TeamCity 在 Docker 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40470630/

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