无外网环境下docker安装kong、postgresql、konga (一)

2023-02-25 16:20:29 浏览数 (1)

一、相关简介

Docker Registry是Dockers镜像的存储和管理中心,在一个离线或没有外网网络的环境下使用大量docker镜像,需要提供一个镜像仓库。

Registry可以通过push的方式上传镜像到仓库中,默认将上传的镜像数据保存在/var/lib/registry目录。那么在离线时我们可以将regsitry本身的镜像save成tar包,将/var/lib/registry数据目录也打包成tar包,然后在目标机器上通过volume的形式挂载运行即可提供服务。

二、环境说明

公司开发环境无法访问外网,通过docker安装相关软件。

三、操作步骤

先在有网络环境的机器下进行操作,前提条件是安装了docker。

a、下载docker registry
代码语言:javascript复制
docker pull docker.io/registry
b、创建docker镜像存储目录
代码语言:javascript复制
mkdir -p /data/registry-data 
c、运行registry服务
代码语言:javascript复制
docker run -d --name=registry -v /registry-data:/var/lib/registry -p 5000:5000 docker.io/registry
d、获取目标镜像kong、postgresql、konga
代码语言:javascript复制
docker pull kong

docker pull postgres

docker pull pantsel/konga
e、修改本地镜像tag

docker镜像上传时需要指定仓库名称和镜像名称

代码语言:javascript复制
docker tag docker.io/kong  127.0.0.1:5000/kong

docker tag docker.io/postgres  127.0.0.1:5000/postgres

docker tag docker.io/pantsel/konga  127.0.0.1:5000/konga
f、上传镜像到本地的registry仓库中
代码语言:javascript复制
docker push 127.0.0.1:5000/kong

docker push 127.0.0.1:5000/konga

docker push 127.0.0.1:5000/postgres
g、打包registry镜像
代码语言:javascript复制
docker save -o registry.tar docker.io/registry
h、打包/data/registry-data目录
代码语言:javascript复制
tar czvf registry-images-data.tar.gz /data/registry-data
i、移动数据

将registry.tar 和 registry-images-data.tar.gz 两个文件复制到离线环境服务器。

j、离线环境服务器 导入registry镜像

镜像registry的镜像导入到本地的docker中

代码语言:javascript复制
docker load -i registry.tar
k、解压镜像数据
代码语言:javascript复制
tar xf registry-images-data.tar.gz -C /data/registry-data
l、运行registry容器
代码语言:javascript复制
docker run -d --name=registry -v /data/registry-data:/var/lib/registry -p 5000:5000 docker.io/registry
m、通过docker pull的方式从该registry中下载镜像使用
代码语言:javascript复制
docker pull 127.0.0.1:5000/kong

docker pull 127.0.0.1:5000/konga

docker pull 127.0.0.1:5000/postgres

0 人点赞