在局域网部署自己的Docker私有仓库

2023-10-26

本文参考自局域网部署Docker–从无到有创建自己的Docker私有仓库
内网用户由于无法链接互联网,所以无法像在线用户那样直接使用pull指令从Docker Hub上下载镜像。
再查看了很多资料之后,发现可以使用文件操作在局域网上部署Docker系统。

一、Docker系统的安装

推荐在内网搭建Linux的软件包源,使用yum或apt方式安装。
具体方法参照官方指南或则各类中文指南。

二、Docker Image镜像的创建

由于内网无法像在线用户那样直接下载镜像,所以需要找一个能上互联网的电脑,将Docker镜像以文件方式下载下来,在内网Docker系统中导入。

下载Docker镜像的方法有以下三种:

  • 使用opvz的模板来创建
  • 从Docker镜像中生成文件
  • 从Docker容器中生成文件

1、使用opvz的模板来创建

openvz的模板下载地址如下:

http://openvz.org/Download/templates/precreated

  下载完之后

  比如:下载了一个ubuntu14.04的镜像 

cat ubuntu-14.04-x86_64-minimal.tar.gz  |docker import - ubuntu:14.04

然后用docker images看下:

REPOSITORY          TAG                IMAGE ID            CREATED            VIRTUAL SIZE

 ubuntu              14.04              05ac7c0b9383        17 seconds ago      215.5 MB

Docker镜像的获取,还有办法就是从容器导出|导入,或者直接从已有的镜像另存|导入。

2、从Docker镜像中生成文件

使用 docker save 将镜像文件中另存到文件系统

$sudo docker save ubuntu:14.0 > ubuntu_14.04.tar.gz 
或者
$sudo docker save -o ubuntu_14.04.tar.gz ubuntu:14.0

导入命令为docker load

docker load < ubuntu_14.04.tar.gz

3、从Docker容器中生成文件

使用 docker export 命令,导出容器快照到本地文件

$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
7691a814370e        ubuntu:14.04        "/bin/bash"         3> hours ago        Exited(0)21 hours ago     

$ sudo docker export 7691a814370e > ubuntu.tar

使用 docker import 从容器快照文件中再导入为镜像

$ cat ubuntu.tar | sudo docker import - test/ubuntu:14.04
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在局域网部署自己的Docker私有仓库 的相关文章

  • 使用c在linux上分块读写

    我有一个 ASCII 文件 其中每一行都包含一个可变长度的记录 例如 Record 1 15 characters Record 2 200 characters Record 3 500 characters Record n X cha
  • 可以作为命令行参数传递多少数据?

    在 Linux 下生成进程时可以发送多少字节作为命令行参数 gahooa 推荐了一篇好文章http www in ulm de mascheck various argmax http www in ulm de mascheck vari
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8
  • 在非实时操作系统/内核上执行接近实时任务的最佳方法是什么?

    在一台 GNU Linux 机器上 如果想要执行 实时 亚毫秒级时间关键 任务 您几乎总是必须经历漫长 复杂且容易出现问题的内核补丁过程 以提供足够的支持 1 http en wikipedia org wiki RTLinux Backg
  • 如何将 elf 解释器(ld-linux.so.2/ld-2.17.so)构建为静态库?

    如果我的问题不准确 我深表歉意 因为我没有太多 Linux 相关经验 我目前正在构建一个 Linux 从头开始 主要遵循 linuxfromscratch org 版本的指南 7 3 我遇到了以下问题 当我构建可执行文件时 获取一个称为 E
  • 如何在 Docker 多阶段构建层中缓存 Maven 依赖项和插件?

    我想将 Maven 依赖项缓存在我的构建阶段的一层中Docker 多阶段构建 https docs docker com engine userguide eng image multistage build 我的 Dockerfile 如
  • 如何使用 docker 和 monorepo 组织共享库

    我拥有的 我有 2 个 python 应用程序共享一些代码 足以让我尝试将共享部分隔离到模块 包 库中 我故意使术语含糊不清 因为我不确定解决方案是什么 我的所有代码都在单一存储库中 因为我希望克服管理比我们团队成员更多的存储库的一些烦恼
  • 如何在linux中使用iptables将http和https流量转发到透明代理[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • Grep 递归和计数

    需要在具有大量子目录的目录中搜索文件内的字符串 我在用着 grep c r string here 我怎样才能找到总数量 如何仅输出至少具有一个实例的文件 使用 Bash 的进程替换 这给出了我认为是您想要的输出 如果不是 请澄清问题 gr
  • 无法解析docker容器内的域名

    我在 Windows PC 上的 virtualbox 中运行 Linux 虚拟机 我在虚拟机中安装了docker 然后我使用以下命令启动了一个高山容器docker run it alpine 在这个容器中 我可以成功 ping 外部 IP
  • Docker exec linux 终端创建别名

    我有一个正在运行且独立的容器 我想在附加到该容器之前创建一个命令别名 当我连接到容器并输入 alias bar foo 创建别名 并可以通过以下方式检查 alias command 但如果我想做同样的事情码头执行者命令即这样 docker
  • Windows Docker 在 hcssshim::System::CreateProcess 期间遇到错误:Windows 系统调用失败:系统找不到指定的文件

    我对 Docker 相当陌生 并尝试构建 Windows 容器 但当我运行它时遇到了这个问题 任何帮助 将不胜感激 base D src WebIntelligence bling blingDemo Models gt docker ru
  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 如何从程序内部获取指向程序的特定可执行文件部分的指针? (也许是诽谤)

    我在 Linux 环境中 需要编写一个程序来检索放置在其可执行文件的某个部分中的一些数据 那么 如何从程序内部获取指向程序某个部分 通过其名称 的指针呢 我知道可以使用elf getdata 将节的索引作为参数传递给 get 和Elf Da
  • 隐式声明“gets”

    据我所知 隐式声明 通常意味着该函数必须在调用之前放置在程序的顶部 或者我需要声明原型 然而 gets应该在stdio h文件 我已包含 有没有什么办法解决这一问题 include
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • Docker - 如何通过 API 将输入发送到程序

    我一直在使用 Docker 的远程 API 创建一个容器 在其中运行一个 Python 程序 附加到该容器并将写入 stdout 的输出流式传输到网络 现在 我希望我的 Python 程序接受来自 stdin 的用户输入 例如 import

随机推荐

  • 在Bottle框架中返回静态文件和JSON对象的方法

    Bottle是一个轻量级的Python Web框架 提供了简单而灵活的方式来构建Web应用程序 在Bottle框架中 我们可以使用以下方法来返回静态文件和JSON对象 返回静态文件 要返回静态文件 我们可以使用static file函数 该
  • 交叉编译-18:解决arm-none-eabi-gcc交叉编译问题

    在项目中使用arm none eabi gcc交叉编译链编译程序时报错 checking host system type arm none eabi checking for a BSD compatible install usr bi
  • Docker进阶学习:其他命令以及扩展

    Docker Stack docker compose 单机部署项目 docker stack 集群部署 单机 docker compose up d wordpress yaml 集群 docker stack deploy wordpr
  • sqlserver 2012中实现字符串连接的新方法

    sqlserver 2012之前的版本 处理not null字符 DECLARE t1 varchar 10 a DECLARE t2 varchar 10 b DECLARE t3 varchar 10 c DECLARE t4 varc
  • 在线json解析工具 在线js解析加密混合工具

    https www sojson com json解析工具 js工具 https www jsjiami com tool
  • 风车IM即时通讯聊天系统源码_聊天APP_附APP_带安装教程

    风车IM即时通讯聊天系统源码 聊天APP 附APP 带安装教程 风车im 是一款独立服务器部署的即时通讯解决方案 可以帮助你快速拥有一套自己的移动社交 企业办公 多功能业务产品 独立部署 加密通道 牢牢掌握通讯信息 前端开发语言 VUE 安
  • kafka集群部署(最新版本kafka_2.13-3.1.0)

    集群环境 节点名 ip地址 OS版本 部署服务 broker信息 kafka01 192 168 96 10 CentOS Linux release 7 9 2009 Core jdk zookeeper kafka broker 0 k
  • Python字典及基本操作(超级详细)

    字典也是 Python 提供的一种常用的数据结构 它用于存放具有映射关系的数据 比如有份成绩表数据 语文 79 数学 80 英语 92 这组数据看上去像两个列表 但这两个列表的元素之间有一定的关联关系 如果单纯使用两个列表来保存这组数据 则
  • 一文教你懂得什么什么是EMC(电磁兼容)

    EMC 电磁兼容 是什么 EMC 电磁兼容 一直是电路设计和PCB设计中的难题 EMS是指设备在电磁环境中可以正常工作并且不对其它的设备造成干扰 EMS可以分为两部分 一个是EMI 电磁干扰 一个是EMS 电磁敏感度 EMI是设备本身对于其
  • qt for android存储文本文件到本地

    本博主要分享如何用qt for android 非qml形势存储文本文件到本地 本来以为很麻烦 后来发现和qt在window上使用是一样的 只是用手机存储excel应该要麻烦一些或者不行 但是我是用的是t xt文件 所以很容易就实现了这个功
  • 关于CATALINA_HOME 和 CATALINA_BASE 的区别

    官方文档 以下内容从官方复制出来的 目录和文件 这些是一些重要的tomcat目录 bin 启动 关闭和其他脚本 conf 配置文件和相关DTD 这里最重要的文件是server xml 它是容器的主要配置文件 logs 日志文件默认目录 we
  • 论文图片格式要求具体有哪些?

    经过多年发展 无论是论文发表还是各个院校 科研机构都已经形成了自身的科研系统 对论文格式都有了一些约定俗成的规矩 这也是我们在撰写论文时必须遵守的 尤其是刚接触论文写作的同学 经常只顾着研究论文的内容 对论文的格式问题根本没有重视 导致虽然
  • Android中切换到主线程执行的方法

    方法一 view post Runnable runnable 使用view对象 调用post方法即可在主线程中执行里边的代码 postDelayed是延时执行 也可以达到相同的效果 例如 textView post new Runnabl
  • chatgpt赋能Python-python_aorb

    Python a vs b 选择正确的Python版本 Python是一种流行的编程语言 广泛应用于数据分析 机器学习 Web开发和自动化等领域 在Python的发展历程中 出现了不同版本 其中最流行的是Python 2和Python 3
  • MySQL中int(M)和tinyint(M)数值类型中M值的意义

    MySQL中int M 和tinyint M 数值类型中M值的意义 mysql的基本数据类型里几个int如下 类型 大小 范围 有符号 范围 无符号 用途 TINYINT 1字节 128 127 0 255 小整数值 SMALLINT 2
  • rabbitMQ的生产与消费由Kettle实现

    文章目录 一 Kettle为什么可以读取流数据 二 rabbitMQ中启动MQTT插件并创建队列和路由键 三 Kettle实现rabbitMQ的生产与消费 Kettle是一款非常强大的ETL工具 不仅可以使用图形化界面 还可以处理各种数据
  • 解决网页无法复制粘贴(生活小妙招)

    事情缘由 今天在写学习通的作业的时候 发现答案不能复制粘贴 这种有答案 而无法复制粘贴的痛 谁又能懂呢 每当我们复制题目和粘贴答案的时候 就会跳出一个窗口 但是这种问题是难不倒一个学计算机的学生的 我们知道像这种复制粘贴的拦截都是通过JS脚
  • Seaborn 可视化

    Seaborn 可视化 1 简介 Seaborn是一个在Python中制作有吸引力和信息丰富的统计图形的库 它建立在matplotlib之上 并与PyData堆栈紧密集成 包括支持来自scipy和statsmodels的numpy和pand
  • 如何用计算机计算概率,概率计算器与阶乘方程

    我必须做一个代码 计算中奖彩票的概率 给定的数量可供选择的数量以及您必须选择多少 我必须在代码中使用阶乘方程 n k n k 代码本身工作正常 但公式不会编译 概率计算器与阶乘方程 This program calculates the p
  • 在局域网部署自己的Docker私有仓库

    本文参考自局域网部署Docker 从无到有创建自己的Docker私有仓库 内网用户由于无法链接互联网 所以无法像在线用户那样直接使用pull指令从Docker Hub上下载镜像 再查看了很多资料之后 发现可以使用文件操作在局域网上部署Doc