我开发了一款主要基于树莓派的Python应用程序,该程序使用Redis作为本地缓存,因此我自然而然地转向使用docker compose来定义所有的服务,即Redis和我的应用程序。我使用Docker Hub私有仓库托管我的容器。但我不知道如何使用docker buildx bake
命令以针对linux/armv7平台进行构建,因为--platform
标志不是bake
命令的一部分。
所有Docker团队展示的示例都使用简单的docker buildx
命令,这不能用于compose文件。
我的docker-compose.yml文件被定义为:
version: '3.0'
services:
redis:
image: redis:alpine
app:
image: dockerhub/repository
build: gateway
restart: always
Dockerfile:
# set base image (Host OS)
FROM python:3.8-slim
# set the working directory in the container
WORKDIR /run
# copy the dependencies file to the working directory
COPY requirements.txt .
# install dependencies
RUN pip install -r requirements.txt
# copy the content of the local src directory to the working directory
COPY src/ .
# command to run on container start
CMD [ "python", "-u", "run.py" ]
非常感谢任何帮助。谢谢
docker buildx
构建,推送到镜像仓库,并使用 docker-compose 运行(无需build:
)。 - Klaus D.restart
就没有意义了。 - Klaus D.docker-compose
中,服务在不同的容器中运行是完全正常的。如果您无法访问 redis,请为该服务设置hostname:
并在配置中使用该主机名。 - Klaus D.