如何在Azure容器服务中运行docker-compose并将其部署到代理而不是主服务器?

我按照这篇文章( https://blogs.msdn.microsoft.com/jcorioland/2016/04/25/create-a-docker-swarm-cluster-using-azure-container-service/#comment-1015 )设置一个Swarm Docker主机集群。 有1个主人和2个代理人。本文的优点是使用“-H 172.16.0.5:2375”在“代理人”而不是“主人”之间创build新的容器。

我的问题是:如果我想让docker-compose.yml工作,我该怎么做? 我曾尝试像:

docker-compose -H 172.16.0.5:2375 up 

但它不起作用。 如果我只是使用:

 docker-compose up 

然后容器将在主主机上创build,我甚至不能使用公共DNS访问该网站。

这里是我用于1个magento&1 mariadb容器的yml文件:

 version: '2' services: mariadb: image: 'bitnami/mariadb:latest' environment: - ALLOW_EMPTY_PASSWORD=yes ports: - '3306:3306' volumes: - 'mariadb_data:/bitnami/mariadb' magento: image: 'bitnami/magento:latest' environment: - MAGENTO_HOST=172.16.0.5 - MARIADB_HOST=172.16.0.5 ports: - '80:80' volumes: - 'magento_data:/bitnami/magento' - 'apache_data:/bitnami/apache' - 'php_data:/bitnami/php' depends_on: - mariadb volumes: mariadb_data: driver: local magento_data: driver: local apache_data: driver: local php_data: driver: local 

这个部分是根据我的猜测,

  environment: - MAGENTO_HOST=172.16.0.5 - MARIADB_HOST=172.16.0.5 

但yml不喜欢附加的端口,例如

  environment: - MAGENTO_HOST=172.16.0.5:2375 - MARIADB_HOST=172.16.0.5:2375 

非常感谢!

您需要在/etc/default/docker DOCKER_HOST设置中configuration远程,或使用指向主机的DOCKER_HOST环境variables。

另外,docker组成支持-H