我按照這篇文章(https://blogs.msdn.microsoft.com/jcorioland/2016/04/25/create-a-docker-swarm-cluster-using-azure-container-service/#comment-1015)設置swarm docker主機羣集。有一個主人和兩個代理人。本文的優點是使用「-H 172.16.0.5:2375」,它在「代理人」而不是「主人」之間創建新容器。如何在Azure容器服務中運行docker-compose並將其部署到代理而不是主服務器?
我的問題是:如果我想讓docker-compose.yml工作,我該怎麼做?我試過的命令是這樣的:
docker-compose -H 172.16.0.5:2375 up
但它不起作用。如果我只是使用:
docker-compose up
然後容器將在主控主機上創建,我甚至不能使用公共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
但陽明不像附加的端口,例如
environment:
- MAGENTO_HOST=172.16.0.5:2375
- MARIADB_HOST=172.16.0.5:2375
非常感謝!
嗨夥計,你可以請貼我的DOCKER_HOST腳本?我很困惑。例如我仍然需要MAGENTO_HOST和端口2375等。再次感謝! – Samuel
只需在您啓動的機器上創建環境變量docker compose('export DOCKER_HOST = remote:port')並運行docker-compose,不需要更改docker撰寫文件中的任何內容 – 4c74356b41
我正在使用Azure Container服務,所以我認爲我應該在主linux機器上運行你的「export DOCKER_HOST = remote:port」。那麼如何運行docker-compose和-H key呢? – Samuel