我正在码头化python脚本,并在Dockerfile中以CMD ['python', 'script.py']
的身份运行它。当我使用up
docker-compose.yml
容器时,容器开始运行,
但是当我docker exec
进入容器并执行ps -aux
时,我看到%CPU为100%,因此无法满足服务的目的。
如果我执行相同的过程,即通过执行docker exec
并在容器中手动运行脚本python script.py
,则效果很好,我只能看到5%的CPU被使用,以及该服务可以正常工作并给出预期的结果。
服务在docker-compose中编写:
consumer:
restart: always
image: consumer:latest
build: ./consumer
ports:
- "8283:8283"
depends_on:
- redis
environment:
- REDIS_HOST = redis
redis:
image: redis
command: redis-server
volumes:
- ./redis_data:/data
ports:
- "6379:6379"
restart: unless-stopped
这是一个消费者应用程序,它使用来自生产者的消息并将其写入Redis服务器。
有人可以建议为什么会观察到这种行为吗?