阿里云服务器不能拉取docker镜像:采用手动拉并导入安装的方法

version: '3.5'

services:
  etcd:
    container_name: milvus-etcd
    image: quay.io/coreos/etcd:v3.5.5
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision
      - ETCD_AUTO_COMPACTION_RETENTION=1000
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
      - ETCD_SNAPSHOT_COUNT=50000
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
    command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
    healthcheck:
      test: ["CMD", "etcdctl", "endpoint", "health"]
      interval: 30s
      timeout: 20s
      retries: 3

  minio:
    container_name: milvus-minio
    image: minio/minio:RELEASE.2023-03-20T20-16-18Z
    environment:
      MINIO_ACCESS_KEY: minioadmin
      MINIO_SECRET_KEY: minioadmin
    ports:
      - "9001:9001"
      - "9000:9000"
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
    command: minio server /minio_data --console-address ":9001"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

  standalone:
    container_name: milvus-standalone
    image: milvusdb/milvus:v2.4.5
    command: ["milvus", "run", "standalone"]
    security_opt:
    - seccomp:unconfined
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: minio:9000
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
      interval: 30s
      start_period: 90s
      timeout: 20s
      retries: 3
    ports:
      - "19530:19530"
      - "9091:9091"
    depends_on:
      - "etcd"
      - "minio"

networks:
  default:
    name: milvus

要手动拉取并导入到本地 Docker 服务,你可以按照以下步骤操作:

1. 手动拉取 Docker 镜像

你需要先从其他地方(如本地网络能够访问的机器,或有镜像加速器的环境)手动拉取所需的 Docker 镜像。以下是你需要的镜像:

  • quay.io/coreos/etcd:v3.5.5
  • minio/minio:RELEASE.2023-03-20T20-16-18Z
  • milvusdb/milvus:v2.4.5

在能够访问 Docker Hub 或其他镜像仓库的机器上执行以下命令:

docker pull quay.io/coreos/etcd:v3.5.5
docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z
docker pull milvusdb/milvus:v2.4.5

2. 导出镜像到本地文件

一旦拉取成功,你可以将镜像导出为 .tar 文件,这样可以通过文件传输的方式,将镜像传输到你的服务器上。

使用 docker save 命令将镜像保存为 .tar 文件:

docker save -o etcd_v3.5.5.tar quay.io/coreos/etcd:v3.5.5
docker save -o minio_v2023.tar minio/minio:RELEASE.2023-03-20T20-16-18Z
docker save -o milvus_v2.4.5.tar milvusdb/milvus:v2.4.5

3. 传输镜像文件到目标机器

将保存的 .tar 文件通过 scp 或其他文件传输工具传输到目标机器。例如,使用 scp 传输:

scp etcd_v3.5.5.tar user@target-machine:/path/to/destination
scp minio_v2023.tar user@target-machine:/path/to/destination
scp milvus_v2.4.5.tar user@target-machine:/path/to/destination

4. 在目标机器上加载镜像

在目标机器上,使用 docker load 命令加载 .tar 文件中的镜像:

docker load -i /path/to/destination/etcd_v3.5.5.tar
docker load -i /path/to/destination/minio_v2023.tar
docker load -i /path/to/destination/milvus_v2.4.5.tar

加载成功后,你可以使用以下命令确认镜像是否加载成功:

docker images

你应该能够看到这些镜像列表。

5. 启动 Docker Compose 服务

一旦所有镜像都已加载到本地,你就可以使用 docker compose 启动服务:

docker compose up -d

这样就能成功启动容器,而无需重新从 Docker Hub 或其他仓库拉取镜像。如果镜像已经成功加载,它们应该会直接被使用。

总结步骤

  1. 在能联网的机器上拉取镜像。
  2. 使用 docker save 将镜像保存为 .tar 文件。
  3. .tar 文件传输到目标机器。
  4. 使用 docker load 加载镜像。
  5. 运行 docker compose up -d 启动容器。

这些步骤可以帮助你在没有网络的情况下,手动导入和使用 Docker 镜像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值