将多个容器上传到 Azure 容器注册表
Upload multiple containers to Azure Container registry
我有 ASP.NET 核心应用程序,打包到 docker。
这是我的 docker-compose 文件,里面有 kibana 和 EL 图片。
version: "3.1"
services:
tooseeweb:
image: ${DOCKER_REGISTRY-}tooseewebcontainer
build:
context: .
dockerfile: Dockerfile
ports:
- 5000:80
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
container_name: elasticsearch
ports:
- "9200:9200"
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
networks:
- docker-network
kibana:
image: docker.elastic.co/kibana/kibana:6.2.4
container_name: kibana
ports:
- "5601:5601"
depends_on:
- elasticsearch
networks:
- docker-network
networks:
docker-network:
driver: bridge
volumes:
elasticsearch-data:
我尝试通过本文将其部署到 Azure 容器注册表
Article link
一切正常,我看到我的 APIб 它在 80 端口下。但是没看到kibana和elasticsearch。
在本地机器上我创建了 docker-compose up
并通过 5601
和 9200
看到了它,但是在 Azure 容器注册表上这个端口不起作用。我如何一起部署?或者我需要单独部署容器?
首先,Azure 容器注册表会为您存储 docker 个图像。所以你需要将图像推送到它,而不是 运行 容器。并且你不需要将它们分开,但你需要创建名称为 your_acr_name.azurecr.io/image_name:tag 的所有图像,然后将它们推送到 ACR.
正如我在你的问题中看到的,你只创建了名称为 ${DOCKER_REGISTRY-}tooseewebcontainer
的图像 tooseeweb
,当你将此图像推送到 ACR 时,它只会为你存储这个,不会包含另外两张图片。
如果要将另外两张图片存储到ACR中,需要按照以下两步操作。
- 标记你的图片。例如:
docker tag docker.elastic.co/elasticsearch/elasticsearch:6.2.4 your_acr_name.azurecr.io/elasticsearch:6.2.4
- 将图像推送到 ACR。
docker push your_acr_name.azurecr.io/elasticsearch:6.2.4
我有 ASP.NET 核心应用程序,打包到 docker。
这是我的 docker-compose 文件,里面有 kibana 和 EL 图片。
version: "3.1"
services:
tooseeweb:
image: ${DOCKER_REGISTRY-}tooseewebcontainer
build:
context: .
dockerfile: Dockerfile
ports:
- 5000:80
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
container_name: elasticsearch
ports:
- "9200:9200"
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
networks:
- docker-network
kibana:
image: docker.elastic.co/kibana/kibana:6.2.4
container_name: kibana
ports:
- "5601:5601"
depends_on:
- elasticsearch
networks:
- docker-network
networks:
docker-network:
driver: bridge
volumes:
elasticsearch-data:
我尝试通过本文将其部署到 Azure 容器注册表 Article link
一切正常,我看到我的 APIб 它在 80 端口下。但是没看到kibana和elasticsearch。
在本地机器上我创建了 docker-compose up
并通过 5601
和 9200
看到了它,但是在 Azure 容器注册表上这个端口不起作用。我如何一起部署?或者我需要单独部署容器?
首先,Azure 容器注册表会为您存储 docker 个图像。所以你需要将图像推送到它,而不是 运行 容器。并且你不需要将它们分开,但你需要创建名称为 your_acr_name.azurecr.io/image_name:tag 的所有图像,然后将它们推送到 ACR.
正如我在你的问题中看到的,你只创建了名称为 ${DOCKER_REGISTRY-}tooseewebcontainer
的图像 tooseeweb
,当你将此图像推送到 ACR 时,它只会为你存储这个,不会包含另外两张图片。
如果要将另外两张图片存储到ACR中,需要按照以下两步操作。
- 标记你的图片。例如:
docker tag docker.elastic.co/elasticsearch/elasticsearch:6.2.4 your_acr_name.azurecr.io/elasticsearch:6.2.4
- 将图像推送到 ACR。
docker push your_acr_name.azurecr.io/elasticsearch:6.2.4