docker compose pushing to docker hub



我有一个包含 3 个服务的 docker-compose 文件,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"

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

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

现在为两者创建一个单独的 dockerfile 映像。当您运行它们时,它们可能无法工作,因为它们正在查询本地主机。

在 awsfargate 中创建任务定义并启动任务。访问第一个容器的公共 IP,您只需查询本地主机即可从第二个容器接收数据,因为 Fargate 将它们放在同一个网络中。

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

最新更新