本地拉取镜像 + 离线导入服务器

本地拉取镜像 + 离线导入服务器

因为国内的一些网络问题,服务器上面直接拉取很大概率直接失败报错,所以,这里是本地拉取然后在导出传给服务器在下载下来,离线下载镜像再导入,这是解决网络问题的最佳方案。

image-20251122155206688

# 在本地或有网络的服务器上
docker-compose build

#构建好镜像后,用 docker save 导出:
docker save -o ai-api-local.tar ai-api-ai-api:latest

-o ai-api-local.tar:指定导出的 tar 文件名
ai-api-ai-api:latest:你本地镜像名字
镜像名字(要和上一步一致)这样你就得到一个本地的镜像包 ai-api-local.tar。位置在cd位于的位置。

image-20251118143542206

传输并导入到目标服务器

\# 在目标服务器上导入
docker load -i ai-api-local.tar

\# 查看导入的镜像
docker images

image-20251118144245945

修改 [docker-compose.yml](vscode-file://vscode-app/c:/Users/zxz/AppData/Local/Programs/Microsoft VS Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html) 使用本地镜像

重要:去掉 build,那是本地构建使用的
改成直接使用你加载的镜像

version: '3.8'

services:
ai-api:
build: . #将这个替换过去 image: ai-api-ai-api
container_name: ai-api-service
ports:
- "${HOST_PORT:-8978}:8978"
environment:
。。。。。。。

然后运行

docker-compose up -d

如果要用env.config的参数,得运行下面的指令。因为配置变量在写在.env.config的

docker-compose --env-file .env.config up -d --build

如果直接是dockerrun的

docker run <IMAGE_NAME> 或者
docker run -p 8080:80 <IMAGE_NAME>

如果有问题,容器报错,使用下面指令进行检查

docker logs ai-api-service
vim .env.config