Dify部署无法拉取镜像

Dify部署无法摘取镜像

sudo docker compose up -d
[+] Running 10/10
 ✘ nginx Error         Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiti...             15.2s
 ✘ weaviate Error      Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awa...                15.2s
 ✘ sandbox Error       Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awai...               15.2s
 ✘ db Error            Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting ...          15.2s
 ✘ ssrf_proxy Error    Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while a...                  15.2s
 ✘ api Error           Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting...           15.2s
 ✘ web Error           Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting...           15.2s
 ✘ worker Error        Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while await...              15.2s
 ✘ plugin_daemon Error Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded whil...                     15.2s
 ✘ redis Error         Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiti...             15.2s
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
exit status 1

方法一:
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":[
    "https://9cpn8tt6.mirror.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://mirror.ccs.tencentyun.com",
    "https://docker.1panel.live",
    "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://your_preferred_mirror",
    "https://dockerhub.icu",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

方法二:直接下载离线包

root@i-28e6iose:/home/ubuntu/dify/docker# docker images
REPOSITORY                      TAG           IMAGE ID       CREATED         SIZE
postgres                        15-alpine     235e26878484   3 days ago      273MB
langgenius/dify-plugin-daemon   0.0.2-local   2df4860e4330   7 days ago      902MB
langgenius/dify-web             0.15.3        f0fae584255f   2 weeks ago     436MB
langgenius/dify-api             0.15.3        e05373163e63   2 weeks ago     2.97GB
nginx                           latest        97662d24417b   2 weeks ago     192MB
redis                           6-alpine      6dd588768b9b   6 weeks ago     30.2MB
langgenius/dify-sandbox         0.2.10        4328059557e8   4 months ago    567MB
ubuntu/squid                    latest        87507c4542d0   5 months ago    242MB
semitechnologies/weaviate       1.19.0        8ec9f084ab23   22 months ago   52.5MB

离线包文件

#通过脚本直接下载镜像包
docker images | tail -n +2 | awk '{print $1":"$2}' | while read -r image; do
    imagename=$(echo "$image" | sed 's/\//_/g')
    imagename=$(echo "$imagename" | cut -d':' -f1)
    output_file="$imagename.tar"
    docker save -o "$output_file" "$image"
done

root@i-28e6iose:/home/ubuntu# ls -lh *.tar
-rw------- 1 root root 2.9G Feb 24 13:04 langgenius_dify-api.tar
-rw------- 1 root root 878M Feb 24 13:03 langgenius_dify-plugin-daemon.tar
-rw------- 1 root root 558M Feb 24 13:04 langgenius_dify-sandbox.tar
-rw------- 1 root root 430M Feb 24 13:03 langgenius_dify-web.tar
-rw------- 1 root root 188M Feb 24 13:04 nginx.tar
-rw------- 1 root root 264M Feb 24 13:03 postgres.tar
-rw------- 1 root root  30M Feb 24 13:04 redis.tar
-rw------- 1 root root  51M Feb 24 13:04 semitechnologies_weaviate.tar
-rw------- 1 root root 240M Feb 24 13:04 ubuntu_squid.tar
### 如何部署 Docker 镜像 #### 准备工作 为了成功部署 Docker 镜像,需先确保已安装并配置好 Docker 环境。之后,从 Docker Hub 或者本地仓库选一个适合的基础镜像来构建自定义镜像[^2]。 #### 构建镜像方法一:通过 `docker commit` 命令创建新镜像 当对某个正在运行中的容器进行了必要的修改后,可以利用此命令保存这些更改到一个新的镜像中。具体操作如下: 1. 启动所需容器; 2. 对该容器执行各种设置或安装软件包的操作; 3. 使用 `docker ps` 查看当前活动容器列表获目标容器 ID; 4. 执行 `docker commit CONTAINER_ID NEW_IMAGE_NAME[:TAG]` 来提交新的镜像版本。 这种方法简单快捷,但对于复杂的应用场景太推荐,因为难以追踪具体的改动记录[^1]。 #### 构建镜像方法二:编写 Dockerfile 并使用 `docker build` 构建镜像 更常见的方式是准备一份名为 **Dockerfile** 的文本文件,在其中指定一系列指令用于指导 Docker 自动化地组装最终使用的镜像。下面是一个简单的例子说明如何基于 Nginx 制作 Web 应用程序的镜像: ```Dockerfile FROM nginx:stable-alpine3.17-slim # 定义基础镜像 COPY ./html /usr/share/nginx/html # 将项目静态资源复制至相应位置 EXPOSE 80 # 开放端口供外部访问 CMD ["nginx", "-g", "daemon off;"] # 设置默认启动命令 ``` 完成上述步骤后,可以在终端输入 `docker build -t mywebapp .` 进行编译打包过程,这里的 `-t` 参数用来给新建好的镜像命名标记。 #### 推送镜像至私有仓库 Harbor 如果希望将制作完毕后的镜像分享出去或是跨机器迁移,则可考虑上传至类似 Harbor 私有的注册中心服务里边去。在此之前要保证已经登录过对应的账号,并且知道确切的目标地址以及认证信息。推送流程大致如下所示: ```bash $ docker tag local-image-name harbor-server-address/project/repo:image-tag # 给本地镜像打标签以便识别 $ docker push harbor-server-address/project/repo:image-tag # 正式推送到远程库 ``` 最后一步可以通过浏览器或者其他工具验证是否成功入库[^4]。 #### 实际案例——Nacos 部署实践 对于某些特定应用比如微服务体系下的配置管理组件 Nacos ,可以直接官方提供的稳定版镜像快速搭建起来。这里给出一段完整的 YAML 格式的 Compose 文件片段展示怎样一键启停整个集群环境: ```yaml version: '3' services: nacos-config: image: nacos/nacos:v1.4.2 # 指定所要用到的服务镜像名称及版本号 container_name: nacos # 设立易于辨认的名字方便后续维护管理 ports: - "8848:8848" environment: MODE: standalone # 单机模式下无需额外参数调整 volumes: data: {} networks: default: external: name: bridge # 默认采用桥接网络连接方式与其他节点通信交互 ``` 接着只需一条命令即可让一切变得井然有序:`sudo docker compose -f /path/to/docker-compose.yml up -d` 。这会按照设定自动下载缺失部分、初始化数据卷映射关系直至全部实例正常运作为止[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[shenhonglei]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值