标签: docker-swarm

如何在特定节点上创建 docker 服务,同时将其扩展到集群中的其他节点?

我是码头工人的新手,因此我心里有这个天真的怀疑。我想要一种方法,每当我创建一个服务时,它都会在特定节点上创建,但如果我扩展它,它应该扩展到 docker swarm 中也存在的其他节点。我知道 --mode global 和 --constraints node.hostname!=node-1。但这并不能解决我的问题。如果我的问题不清楚,请告诉我,我会尽力以更好的方式解释。

containers docker docker-swarm

1
推荐指数
1
解决办法
3200
查看次数

docker stack deploy 不使用创建的覆盖网络

我使用以下命令创建了一个覆盖网络:

docker network create --driver overlay --internal --subnet 192.168.0.0/24 test
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用一项服务部署堆栈。堆栈的 yaml 文件如下所示:

---
version: "3.0"
services:
  web1:
    image: "test"
    ports:
       - "12023:22"
    hostname: "ard014-web1"
    networks:
      - test
networks:
  test:
    driver: overlay
Run Code Online (Sandbox Code Playgroud)

我使用以下命令部署堆栈:

docker stack deploy -c test.yaml test
Run Code Online (Sandbox Code Playgroud)

如果我使用 docker network ls 检查网络,我会发现新的覆盖网络以名称 test_test 创建,并且容器使用该网络而不是已创建的网络。这是预期的行为吗?我希望堆栈使用我手动创建的网络而不是创建新网络,因为我想控制覆盖网络使用的 ip CIDR 范围。我怎样才能做到这一点?

docker swarm docker-swarm

1
推荐指数
1
解决办法
7159
查看次数

如何将 application.properties 文件提供给 spring boot docker image 作为输入

我有 Spring Boot docker 镜像。我在 application.properties 文件中提供了所有参数(环境变量)。如何在通过 docker image 作为输入运行应用程序时提供此文件。

请帮我。

docker spring-boot docker-swarm docker-machine

1
推荐指数
1
解决办法
6459
查看次数

Docker Hub 与 Docker 可信注册表 DTR

我即将第一次配置我的 DTR“Docker TrustedRegistry”,它看起来很复杂。

因此,在做出整个决定之前,我想知道“Do​​cker Hub”和“Docker TrustedRegistry”之间有什么区别?

谢谢

docker dockerhub docker-swarm

1
推荐指数
1
解决办法
1108
查看次数

即使删除映像,Docker 堆栈部署最新映像也能正常工作

我有一个带有使用最新标签的容器的 docker compose 文件: code_site: image: code_site:latest deploy: restart_policy: condition: any volumes: - ../../data_to_backup/code_site/drupal_sites:/drupal_www/sites - drupal_core:/drupal_www/core - php_fpm_socket:/var/run/php-fpm7 networks: - main_net

我有一个过程可以重建容器。当我想对我的网站进行更改时,我会使用它。

我正在调查 docker stack deploy 命令的问题:( docker stack deploy --compose-file=docker-compose.yml code_site 堆栈名称恰好与图像名称匹配,但这是一个巧合。)

如果我经过以下过程: 删除 code_site:latest image (rmi code_site:latest) 重建一个新的 code_site:latest image 重新部署堆栈

它将调出容器的旧版本。这令人困惑,尤其是因为我删除了旧版本。

我更进一步,删除了 code_site 映像,然后运行了 stack deploy 命令。堆栈部署成功仍然运行旧版本的容器。

我可以使用 docker images 命令并验证没有名为 code_site:latest 的容器,所以我不知道堆栈可能如何部署。

任何人都可以解释图像是如何从死里复活的,我应该使用什么方法来永久摆脱它并强制 docker stack 使用真实图像?

谢谢罗伯特

更新 1

code_site 是一个本地构建的映像,我在 swarm 上运行,但 swarm 中只有一个节点

docker docker-swarm

1
推荐指数
1
解决办法
3819
查看次数

在 docker swarm 中的特定节点上运行 docker 容器

我有一个詹金斯管道,它在 NUC 服务器上构建和运行各种容器。此 NUC 与另一个 NUC 位于集群 (Swarm) 上。我最近在我的设置和该集群上添加了几个树莓派,所以现在我想知道是否有一种方法可以命令 Jenknis 在x86_x64 or armhf设备上部署。

我尝试了-e constraint:node==<node_name>在其他问题上找到的解决方案,但没有运气。

x86_x64我尝试了从一个节点指向另一个节点以及从一个x86_x64节点指向另一个armhf节点的上述命令

我不想将这些容器作为服务运行,也不关心任何负载均衡器,我只想在特定架构上运行容器(x86_x64 or armhf取决于我想要部署的内容)

jenkins docker docker-swarm

1
推荐指数
1
解决办法
7012
查看次数

如何在单个容器中运行两个 Docker 映像?

我想使用PHP ImageApache Image创建一个 Docker 容器,这是我的 dockerfile。

Docker 文件名: single-container.dockerfile

# PHP image from docker hub
FROM php:7.2-cli


# Apache image from docker hub
FROM httpd:2.4

# public-html is path for my local codebase
COPY ./public-html/ /usr/local/apache2/htdocs/
Run Code Online (Sandbox Code Playgroud)

在 docker CLI 中,当我运行此命令时:docker build -f single-container.dockerfile . -t mysinglecontainer:latest

我遇到以下错误。

在此输入图像描述

请指教,需要修改哪些内容?

docker dockerfile docker-compose docker-swarm docker-machine

1
推荐指数
1
解决办法
4238
查看次数

如何将放置在 .env 文件中的变量传递给 docker swarm 中的容器?

我正在尝试对docker -composeswarm使用相同的 docker-compose.yml.env文件。变量来自通过在启动时运行 run.sh 脚本,.env文件中应该通过 sed 解析到配置文件中。使用该docker-compose up命令时,此设置工作正常,但当我使用该docker stack deploy命令时,它们没有通过。

如何将变量传递到容器中,以便run.sh脚本在启动时解析它们?

environment-variables docker docker-compose docker-swarm docker-stack

1
推荐指数
1
解决办法
2028
查看次数

Docker 堆栈部署:来自守护进程的错误响应:rpc 错误:代码 = InvalidArgument desc = ContainerSpec:必须提供图像参考

我正在尝试使用 docker 堆栈部署应用程序。建立与泊坞窗,撰写(已运行测试后完全确定),我创建了一个群,加入它,并试图逃跑

docker stack deploy --compose-file docker-compose.yml default
Run Code Online (Sandbox Code Playgroud)

出现以下错误:

failed to create service default_sharkcop-api: Error response from daemon: rpc error: code = InvalidArgument desc = ContainerSpec: image reference must be provided
Run Code Online (Sandbox Code Playgroud)

这是我的 docker-compose.yml

version: "3"
services:
  # Define the api web application
  sharkcop-api:
    # Build the Dockerfile that is in the web directory
    build: 
      context: ./sharkcop-api
      dockerfile: Dockerfile
    # Always restart the container regardless of the exit status; try and restart the container indefinitely
    restart: always

    # …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose docker-swarm

1
推荐指数
1
解决办法
4668
查看次数

Docker Swarm:如何删除停止的容器

我目前正在学习 docker 并且已经建立了一个具有一个管理器和一个集群的群。

我运行一个有 2 个副本的堆栈......一切都很好。当容器无法运行时,swarm 将停止它并重新创建它。那太棒了,但停止的容器不会被删除。有没有办法自动删除停止/未使用的容器?

Docker Swarm 未使用的容器

docker docker-swarm

1
推荐指数
1
解决办法
1426
查看次数