【docker】无法链接外网,导入docker image镜像文件

一、需求描述:

服务器只能访问内容,无法链接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

此时运行的机子上会成功下载镜像文件

image

2、步骤二:

将该镜像文件打包

docker save prom/node-exporter > /home/ops/image_b.tar

此时可以在对应的目录下,查找到打包的image_b.tar文件


image.png

3、步骤三:

通过文件传输的方式,放到目标服务器(也就是那个不能连外网的服务器)


image.png

4、步骤四:

然后通过运行docker命令,解压镜像文件

docker load < ./image_b.tar

5、步骤五:

通过命令安装

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

运行完成后,就可以在该服务器上看到对应的镜像了


image.png

三、注意事项

在步骤1(打包)时,需要停止掉正在运行的docker
保险起见,我将容器也删除了

docker ps -a
docker stop 470f3276256f
docker rm 470f3276256f
image.png

否则会出现

requested load from stdin, but stdin is empty
Docker ERROR: Error processing tar file(exit status 1): unexpected EOF
# 等七七八八的错误

参考链接

https://www.jianshu.com/p/ad4cbf2faa7f

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。