本地 Docker 启用 API、搭建私有仓库,并集成至 SpringBoot

news/2025/3/23 0:27:27/文章来源:https://www.cnblogs.com/seliote/p/18787376

安装 docker

安装 docker 及 docker-compose sudo pacman -S docker docker-compose
使用国内源 sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
启动 docker sudo systemctl start docker
查看相关版本信息 sudo docker info
可选步骤,如果普通用户也需要使用 docker 则需加入 docker 用户组,如 sudo usermod -a -G docker seliote
开启 API

编辑配置 sudo mkdir /etc/systemd/system/docker.service.d/ && sudo vim /etc/systemd/system/docker.service.d/execstart.conf,请勿直接编辑 /usr/lib/systemd/system/docker.service,会导致更新后配置丢失
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
重新启动 daemon sudo systemctl daemon-reload && sudo systemctl restart docker
验证是否成功启用 docker -H tcp://127.0.0.1:2375 info
PS: 玛勒戈壁,Docker Hub 被墙了,需要代理的也可以在这加
[Service]
Environment="HTTP_PROXY=http://172.20.10.1:8118/"
Environment="HTTPS_PROXY=http://172.20.10.1:8118/"
搭建私有仓库

创建镜像存储路径 sudo mkdir /opt/registry && cd /opt/registry
创建 htpasswd 认证文件 sudo mkdir auth sudo sh -c 'docker run --entrypoint htpasswd httpd:2 -Bbn admin Changeme_123 > auth/htpasswd'
创建 docker-compose.yml,sudo vim docker-compose.yml
version: '3'
services:
registry:
container_name: registry
restart: always
image: registry:2
ports:

  • 5000:5000
    environment:
    REGISTRY_AUTH: htpasswd
    REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
    REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
    volumes:
  • ./auth:/auth
  • ./data:/var/lib/registry
    启动 docker 镜像 sudo docker-compose up -d
    测试

浏览器访问 http://localhost:5000/v2/_catalog
测试推送
本地拉取 hello-world 镜像 sudo docker pull hello-world
打 TAG sudo docker tag hello-world:latest localhost:5000/hw
PUSH 至私有仓库 sudo docker push localhost:5000/hw
删除本地镜像 sudo docker image remove localhost:5000/hw && sudo docker image remove hello-world
浏览器访问 http://localhost:5000/v2/_catalog 可以看到新推送的镜像
拉取私有仓库里的镜像

SpringBoot 集成

SpringBoot 2.3.0.M1 开始 spring-boot-maven-plugin 已经内置支持打包为 docker 镜像,具体插件配置样例如下

org.springframework.bootspring-boot-maven-plugin127.0.0.1:5000/${project.artifactId}truetcp://127.0.0.1:2375false127.0.0.1:5000adminChangeme_123 如果每次都需要下载新的镜像但又网络不好,有以下两种方式

标签中添加 IF_NOT_PRESENT,不推荐,而且是需要能完整下载过的
标签中添加,这个要求自己会爬

<HTTP_PROXY>http://192.168.1.12:8118</HTTP_PROXY>
<HTTPS_PROXY>http://192.168.1.12:8118</HTTPS_PROXY>

执行 ./mvnw spring-boot:build-image 或在 IDEA Maven 插件中执行,执行完成后即可在 http://localhost:5000/v2/_catalog 中查看到 publish 的镜像。

或者保持默认配置,不引入 标签中的内容,执行上述操作后,镜像则会被打包至本地。

该插件的具体配置可参考官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/903707.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

集美大学课程实验报告-实验3:栈、队列与递归

集美大学课程实验报告-实验3:栈、队列与递归项目名称 内容课程名称 数据结构班级 网安2413指导教师 郑如滨学生姓名 林沁茹学号 202421336067实验项目名称 实验3:栈、队列与递归上机实践日期上机实践时间 2学时一、目的(本次实验所涉及并要求掌握的知识点) 以下内容请根据实…

2025-03-22 闲话

2025-03-22 闲话有些闲话是纪实的,它们可能只是平淡的文字。它们可能没有感受,不带思考。你看不到装饰,只有琐碎、补也补不到自圆其说的细节。柴米油盐大抵是这样的。 来北京独居后的生活着实安逸。每天执行一个蛮正常的作息,保证三顿饮食、偶尔晚上和网友去搓搓夜宵。睡觉…

3.22 三重积分计算方法

三重积分的实际意义:计算一个立体的质量(可以) 1 投影法(先一后二)(一个土豆切成土豆丝,最后再累加Dxy平面) 一个立体图形可以看成是两个曲面拼接而成,z=(x,y)可表示一个曲面假设x和y都是确定的,然后就累加z,最后再算面积分 先假设有一条竖线,注意竖线是从哪里进入…

15.数组

数组C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。 数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组中的特定元素可以通过索引访问,第一个索引值为 0。声明数组在 C 中要声明一个数组,需要指定元素的类型和元素的数量 下…

逆向中简单的shellcode

做题时遇到了,简单记录一下 一,介绍: shellcode分为广义和狭义,狭义指的仅仅是通过命令行shell攻击靶机,并取得控制权的代码,广义的指能完成类似任务的代码,通常是汇编/机器码。 不过这里是RE,不是PWN,所以不会有靶机,那么在下文指的是广义的shellcode,注入程序,控…

linux一些好用命令:w,fuer,getfacl,usermod,chmod

一.命令 w w 是显示用户登录时间、空闲时间、当前执行的命令等。 2.示例 pst/* : 这是ssh登录 tty: 这是直接本地登录(ctrl+alt +F* 都可以) 这个是没本地登录显示的进程 二. 命令 fuser fuser 是一个可以查看使用此文件的进程号。 1.一般使用 fuser -a /path/to/filename…

Aligning the Objective of LLM-based Program Repair 论文笔记

介绍 (1) 发表 2025-02 ICSE24 (2) 挑战当前方法的推理目标与 LLM 的训练目标没有对齐。现有 LLM-based 方法通常采用 MLM 的方式预测修复代码(然而尽管模型参数被增大百倍但修复结果甚至没有翻一番,这与其他任务的明确可伸缩性形成对比)。因此本文假设在训练中 <masked,…

监狱智能视频分析告警系统解决方案

监狱智能视频分析告警系统解决方案能够精准监测到静坐不动、离床、攀高、独处等行为。例如,当一名囚犯长时间静坐不动时,监狱智能视频分析告警系统解决方案会自动识别并发出预警,以便管理人员及时了解情况,防止囚犯出现自伤、自残等危险行为。在洗手间场景中,系统对入厕超…

昆明理工大学最新《现代材料测试技术》复试真题及答案

-材料测试 昆工材料物理与化学、材料学、材料表征与分析、材料工程、F001现代材料测试技术、864材料科学基础、昆明理工大学材料调剂

RTT 全志D1s跑tina linux

刚毕业那会抽奖抽了一块RTT的D1S开发板,看了一下打印log就放下吃灰了。跑RT-thread的感觉折腾起来太麻烦了就让他吃灰了。最近手头有一块屏幕和一个2欧的小喇叭打算驱动一下。 正好这块板子也出来好多年了。玩一玩。首先我找到了百问网的哪吒开发板他也是D1S的,直接把他的SDK…

COMSOL 基础学习笔记

设置网格 软件通过计算网格顶点的数值,推算其他位置的数值。 行函数:移动的波。 二次行函数(除网格顶点外还计算两定点连线中心的值):网格最大长度 \(≤\frac{λ}{6}\) 一次行函数:网格最大长度 \(≤\frac{λ}{12}\) 修改方式:

NSSCTF ROUND#28 Ciallo~(∠・ω )⌒☆ WriteUp

WriteUp 题目信息 来源:NSSCTF 名称:ROUND#28 Ciallo~(∠・ω )⌒☆ 分类:Reverse 描述:无题目链接: https://www.nssctf.cn/contest/732/解题思路 首先使用DIE对文件进行查壳,发现这是一个无壳的64位exe文件。于是使用64位IDA对文件进行反汇编,得到伪代码如下:先一步步…