Ubuntu利用docker搭建Java相关环境问题记录

Docker拉取镜像超时

报错
bash 复制代码
Unable to find image 'dpanel/dpanel:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/  ": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

解决方式

etc/docker/目录下创建daemon.json文件,将下面内容粘贴进去。

bash 复制代码
{
  "registry-mirrors": [
	"https://registry.cn-hangzhou.aliyuncs.com",
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}

docker重新加载文件,然后重启;

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker
命令方式操作
bash 复制代码
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
	"https://registry.cn-hangzhou.aliyuncs.com",
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

镜像被多个仓库引用

报错
bash 复制代码
Error response from daemon: conflict: unable to delete c2a6a40506b9 (must be forced) - image is referenced in multiple repositories
解决方式
  1. 查看镜像引用
bash 复制代码
docker images
  1. 删除镜像引用
bash 复制代码
docker rmi <镜像名称>:<标签>
  1. 强制删除镜像
    如果镜像仍然无法删除,可以使用 -f 或 --force 选项强制删除:
bash 复制代码
docker rmi -f  <镜像名称/id>

Docker未正确登录到镜像仓库,或权限不足

报错:
bash 复制代码
docker push crpi-5qc4odiityxeoecl.cn-hangzhou.personal.cr.aliyuncs.com/aliyun-namespace-lym/dpanel/dpanel:latest
The push refers to repository [crpi-5qc4odiityxeoecl.cn-hangzhou.personal.cr.aliyuncs.com/aliyun-namespace-lym/dpanel/dpanel]
5f70bf18a086: Preparing 
663fbf8d6b31: Preparing 
37ae894d7828: Preparing 
618509a5037e: Preparing 
645a17712757: Preparing 
e48cf4869d45: Waiting 
a49ad3c60d1c: Waiting 
3ac371982ee8: Waiting 
08000c18d16d: Waiting 
denied: requested access to the resource is denied
解决方式
  1. 登录到目标镜像仓库
bash 复制代码
docker login xxx.xxx.xxx.cr.aliyuncs.com
  1. 重新配置镜像仓库
    如果问题仍然存在,可以尝试重新配置镜像仓库
    2.1. 删除镜像仓库。
    2.2. 重新创建镜像仓库。
    2.3. 重新推送镜像

docker-compose.yml文件配置错误

报错
bash 复制代码
compose up 
yaml: unmarshal errors:
  line 109: mapping key "networks" already defined at line 107
解决

确保 networks 部分只定义一次。如果需要定义多个网络,应该将它们放在同一个 networks 部分下。例如:

yml 复制代码
networks:
  my_network:
    driver: bridge
  another_network:
    driver: bridge

未在 docker-compose.yml文件所在目录启动

报错
bash 复制代码
docker compose up 
no configuration file provided: not found
解决

指定配置文件路径

bash 复制代码
docker compose -f /path/to/docker-compose.yml up
相关推荐
山峰哥21 分钟前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法
乐观的Terry23 分钟前
11、发布系统-用户认证与权限体系
java·spring boot·spring·spring cloud·mybatis
前端开发张小七23 分钟前
Java 学习笔记 · 第二课:面向对象核心(封装、继承、多态)及接口与异常
java·后端·程序员
生活爱好者!27 分钟前
NAS还能用来开视频会议?docker一键部署MiroTalk SFU
运维·docker·容器
wangjialelele30 分钟前
Selenium4 + Java Web自动化测试入门指南:从环境搭建到常用操作详解
java·开发语言·前端·测试工具·自动化
孙启超1 小时前
【AI应用开发】LangChain 中 Chain 和 Agent 核心区别?
java·人工智能·langchain·llm·rag·ai应用开发·agent loop
leoZ2311 小时前
实战复盘:用 Claude Code 从零搭一个 GitHub PR 统计工具
java·人工智能·python·深度学习·自然语言处理·github·llama
William Dawson1 小时前
【踩坑实录|Hive1\.2\.1数据服务接口5大疑难问题调试与全方位优化方案】
java·hive·spring boot
2601_955759881 小时前
如何识别 Claude API 低价值调用并优化
java
鹿角片ljp2 小时前
Java框架篇:Spring + SpringMVC + SpringBoot + MyBatis深度复习
java·开发语言