docker 撰写推送到 docker 中心

docker compose pushing to docker hub

我有一个 docker-compose 文件,它有 3 个服务,yaml 文件可以工作,但我如何将它作为单个图像推送到注册表中并检索它是 AWS Fargate 以便它启动容器?

当图像被推送到单独的存储库时,我有哪些选项可以启动多个容器。

下面是我的 Docker-compose.yaml 文件

version: '3.4'

services:
  dataapidocker:
    image: ${DOCKER_REGISTRY-}dataapidocker
    build:
      context: .
      dockerfile: DataAPIDocker/Dockerfile
    environment:
      - DB_PW
    depends_on:
      - db
  db:
    image: mcr.microsoft.com/mssql/server
    environment:
      SA_PASSWORD: "${DB_PW}"
      ACCEPT_EULA: "Y"
    ports:
      - "1433:1433"
  proxy1:
    build: 
      context: ./proxy
      dockerfile: Dockerfile 
    restart: always
    depends_on: 
      - dataapidocker
    ports:
      - "9999:80"

我尝试的方法是创建两个应用程序 第一个应用程序:一个 nodejs express api 服务器 运行ning 在端口 3001 还附加了 axios 第二个应用程序:一个 nodejs express api 服务器 运行 宁在端口 3010 与 /data(可以是任何东西)到 return 一些数据的路径,允许跨源访问。

我所做的是从第一个应用程序开始,使用 axios.get 命令查询 localhost:3010/data 并打印它。

现在为 both.When 创建一个单独的 dockerfile 镜像 运行 他们可能无法工作,因为他们正在查询本地主机。

在 awsfargate 中创建任务定义并启动任务。访问第一个容器的 public IP,您将能够通过查询本地主机从第二个容器接收数据,因为 fargate 在同一网络中拥有它们。

如果你想要代码,我可以分享它们。