一、需求描述:
服务器只能访问内容,无法链接docker服务器,也就无法下载镜像文件
二、解决方法
1、步骤一:
从一个可以访问外网的机器上下载docker镜像,并运行
docker run -itd --name=node-exporter -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" --restart=always prom/node-exporter
此时运行的机子上会成功下载镜像文件
![](https://img.haomeiwen.com/i12030582/3c0a702250c592b9.png)
2、步骤二:
将该镜像文件打包
docker save prom/node-exporter > /home/ops/image_b.tar
此时可以在对应的目录下,查找到打包的image_b.tar文件
![](https://img.haomeiwen.com/i12030582/2e8bdfea3f026c0e.png)
3、步骤三:
通过文件传输的方式,放到目标服务器(也就是那个不能连外网的服务器)
![](https://img.haomeiwen.com/i12030582/f89024c4f925360a.png)
然后通过运行docker命令,安装该镜像
docker load < ./image_b.tar
运行完成后,就可以在该服务器上看到对应的镜像了
![](https://img.haomeiwen.com/i12030582/0e155c43397e0ffb.png)
三、注意事项
在步骤1(打包)时,需要停止掉正在运行的docker
保险起见,我将容器也删除了
docker ps -a
docker stop 470f3276256f
docker rm 470f3276256f
![](https://img.haomeiwen.com/i12030582/c550bb9ce7ef87a2.png)
否则会出现
requested load from stdin, but stdin is empty
# 等七七八八的错误
网友评论