我是新手。
我有一个dock -compose。像这样的Yml文件:
version: '3.7'
services:
nginx_sarahmaso:
build:
context: .
dockerfile: ./compose/production/nginx/Dockerfile
restart: always
volumes:
- staticfiles_sarahmaso:/app/static
- mediafiles_sarahmaso:/app/media
ports:
- 4000:80
depends_on:
- web_sarahmaso
networks:
spa_network_sarahmaso:
web_sarahmaso:
build:
context: .
dockerfile: ./compose/production/django/Dockerfile
restart: always
command: /start
volumes:
- staticfiles_sarahmaso:/app/static
- mediafiles_sarahmaso:/app/media
- sqlite_sarahmaso:/app/db
env_file:
- ./env/prod-sample
networks:
spa_network_sarahmaso:
networks:
spa_network_sarahmaso:
volumes:
sqlite_sarahmaso:
staticfiles_sarahmaso:
mediafiles_sarahmaso:
我在服务器上部署了一个sh脚本,运行这些命令:
mkdir -p /app
rm -rf /app/* && tar -xf /tmp/project.tar -C /app
sudo docker-compose -f /app/docker-compose.yml build
sudo supervisorctl restart react-wagtail-project
sudo ufw allow port
然而,监理ctl不能正常运行。但是控制台告诉我在docker构建后"Successfully built dc10bd26b175"
。
但是当我运行docker-compose ps或docker ps -a时,我没有看到任何容器。Docker-compose ps要求我使用Docker-compose。如果我做docker-compose ps -f path_to/docker-compose。如果控制台显示帮助信息:
List containers.
Usage: ps [options] [SERVICE...]
Options:
-q, --quiet Only display IDs
--services Display services
--filter KEY=VAL Filter services by a property
-a, --all Show all stopped containers (including those created by the run command)
为什么我看不到我的容器?
您的容器似乎没有启动。
您正在使用sudo docker-compose -f /app/docker-compose.yml build
行构建您的容器,正如控制台消息告诉您的那样。
我不知道这行做什么sudo supervisorctl restart react-wagtail-project
,但对我来说,它看起来不像一个命令来启动你新建的容器。
尝试通过在脚本中添加./path_to_compose/docker-compose up
或./path_to_compose/docker-compose up -d
来显式启动容器。