Ubuntu环境下Docker问题:docker-compose安装与容器创建卡顿
Ubuntu Docker 相关问题解答
1. 是否需要单独安装 docker-compose?
不需要单独安装传统的docker-compose二进制包。目前Docker官方已将Compose功能集成为插件(docker-compose-plugin),你执行的sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin命令已经完成了Compose插件的安装,只需使用docker compose(空格分隔)的命令格式即可,而非旧版的docker-compose(连字符分隔)。
2. docker-compose up提示命令未找到的原因
你安装的是Compose插件版,系统中没有旧版的docker-compose可执行文件,因此会提示命令未找到。正确的命令是sudo docker compose up。
3. docker compose up卡住无法终止的排查方案
- 检查Docker守护进程状态:执行
sudo systemctl status docker,确认Docker daemon是否正常运行,若异常则重启:sudo systemctl restart docker - 查看容器实时日志:打开新终端,执行
docker logs -f <你的容器名称/ID>,定位卡住的具体环节(比如镜像拉取缓慢、容器启动脚本阻塞) - 排查网络问题:Ubuntu默认的UFW防火墙可能限制容器网络,可临时关闭防火墙测试:
sudo ufw disable,验证是否是网络阻塞导致 - 优化镜像拉取速度:如果是首次运行,Ubuntu默认拉取Docker Hub镜像速度较慢,可配置国内镜像源:
- 创建/修改
/etc/docker/daemon.json文件:{ "registry-mirrors": ["https://hub-mirror.c.163.com", "https://mirror.baidubce.com"] } - 重启Docker服务:
sudo systemctl restart docker
- 创建/修改
- 强制终止进程:若
CTRL + C无效,可在新终端执行sudo docker compose down强制停止;或通过ps aux | grep docker找到相关进程ID,执行sudo kill -9 <进程ID>终止
内容的提问来源于stack exchange,提问作者eastwater
相关产品推荐
相关产品推荐

