我是docker新手,我一直在尝试创建5个容器:
- nginx
- db
1.使用以下命令创建3个python应用示例:docker-compose up -d --build --scale app=3
我学习了一些教程,成功地创建了这两个容器:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
27532d44e591 nginx:latest "/docker-entrypoint.…" 31 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp whist-nginx-1
3873501f7cce mysql "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 3306/tcp, 33060/tcp whist-db-1
但是由于某些原因,我的app.py
示例的3个容器没有运行。我在做什么?
这是我的目录树:
Dockerfile:
FROM python:3.9
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 80
CMD ["python", "app.py"]
requirements.txt:flask
docker-compose:
version: '3'
services:
nginx:
image: nginx:latest
ports:
- 80:80
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- app
app:
build:
context: ./app
ports:
- "8000"
volumes:
- ./app_logs:/app/logs
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=password
volumes:
- ./db/data:/var/lib/mysql
- ./db/logs:/var/log/mysql
volumes:
app_logs:
db_data:
db_logs:
nginx.conf:
events {
worker_connections 1000;
}
http {
server {
listen 80;
location / {
proxy_pass http://app:8000;
}
}
}
1条答案
按热度按时间sr4lhrrt1#
你自己的应用镜像有问题。你从它们自己的镜像构建
nginx
和mysql
,所以当然docker可以毫无问题地构建它们。要修复你的应用镜像,首先,你应该尝试如下操作:成功构建自己的应用映像后,您可以使用其他服务构建它。