Docker Remote API配置与使用

Docker Remote API配置与使用

Docker 常见端口

端口作用
2375未加密的docker socket,远程root无密码访问主机
2376tls加密套接字,很可能这是您的CI服务器4243端口作为https 443端口的修改
2377群集模式套接字,适用于群集管理器,不适用于docker客户端
5000docker注册服务
4789/7946覆盖网络

Docker Remote API开启

  • “unix:///var/run/docker.sock”:unix socket,本地客户端将通过这个来连接 Docker Daemon

  • “tcp://0.0.0.0:2375”:tcp socket,表示允许任何远程客户端通过 2375 端口连接 Docker Daemon

  • /usr/lib/systemd/system/docker.service,配置远程访问:-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

# 主要是在[Service]这个部分
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock --containerd=/run/containerd/containerd.sock 
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# 重启
	systemctl daemon-reload
	systemctl restart docker
  • 修改daemon.json的配置
# 修改/etc/docker/daemon.json
{
  "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}

# 使用这种方式,需要去掉/usr/lib/systemd/system/docker.service中关于 -H的选项,否则会报错
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock
  • 查看开启后的端口监听状态
[root@VM-0-3-centos ~]# ss -tunlp | grep docker
tcp    LISTEN     0      128    [::]:2375               [::]:*                   users:(("dockerd",pid=2974,fd=9))

Docker Remote API使用

Docker 客户端使用

  • -H为连接目标主机docker服务
  • 查看docker版本
[root@VM-0-3-centos ~]# docker -H tcp://0.0.0.0:2375 version
Client:
 Version:           20.10.16
 API version:       1.41
 Go version:        go1.17.10
 Git commit:        aa7e414
 Built:             Thu May 12 09:14:28 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:03:33 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
  • 查看镜像包
[root@VM-0-3-centos ~]# docker -H tcp://0.0.0.0:2375 image ls
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       7         eeb6ee3f44bd   19 months ago   204MB
busybox      1.28      8c811b4aec35   4 years ago     1.15MB

Docker Remote API使用

官方提供API链接:https://docs.docker.com/engine/api/

​ Docker Remote API是一个取代远程命令行界面(rcli)的REST API。本文中,我们将使用命令行工具cURL来处理url相关操作。cURL可以发送请求、获取以及发送数据、检索信息

  • 容器列表 获取所有容器的清单:GET /containers/json
  • 创建新容器。命令如下:POST /containers/create
  • 监控容器。使用容器id获取该容器底层信息:GET /containers/(id)/json
  • 进程列表。获取容器内进程的清单:GET /containers/(id)/top
  • 容器日志。获取容器的标准输出和错误日志:GET /containers/(id)/logs
  • 导出容器。导出容器内容:GET /containers/(id)/export
  • 启动容器。如下:POST /containers/(id)/start
  • 停止容器。命令如下:POST /containers/(id)/stop
  • 重启容器,如下:POST /containers/(id)/restart
  • 终止容器:POST /containers/(id)/kill
# 获取容器信息
[root@VM-0-3-centos ~]# curl localhost:2375/containers/json
[{"Id":"1f91c52e2e09ec95cf0b0b00cc4c2e0b7cc61abe310dabf8d04d8d16dc69062d","Names":["/busy_visvesvaraya"],"Image":"busybox","ImageID":"sha256:7cfbbec8963d8f13e6c70416d6592e1cc10f47a348131290a55d43c3acab3fb9","Command":"sleep 10000","Created":1681625640,"Ports":[],"Labels":{},"State":"running","Status":"Up 2 seconds","HostConfig":{"NetworkMode":"default"},"NetworkSettings":{"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"b5c5f41568a8ba0385567dfa4e36d100c8341766a28c5dee56b56886521d2b2f","EndpointID":"b81b5b01ba1aa52961b18de8071783e1c3b6d57fbed9cc9380fa2ef0ab117dcf","Gateway":"172.18.0.1","IPAddress":"172.18.0.4","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:12:00:04","DriverOpts":null}}},"Mounts":[]},{"Id":"5f3af0db7d04a007993ac661b50dca3275037a9575c63b374e4837336eba3f48","Names":["/trusting_liskov"],"Image":"busybox","ImageID":"sha256:7cfbbec8963d8f13e6c70416d6592e1cc10f47a348131290a55d43c3acab3fb9","Command":"sleep 10000","Created":1681625639,"Ports":[],"Labels":{},"State":"running","Status":"Up 3 seconds","HostConfig":{"NetworkMode":"default"},"NetworkSettings":{"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"b5c5f41568a8ba0385567dfa4e36d100c8341766a28c5dee56b56886521d2b2f","EndpointID":"a8f618d7b5b7ef0bb09ad05cc8b04b806fc72d7f274e7d63d71ae4f06695faf4","Gateway":"172.18.0.1","IPAddress":"172.18.0.3","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:12:00:03","DriverOpts":null}}},"Mounts":[]},{"Id":"4d0b96d44e2acc067c7b32c45a20afc5f5dceade8afb2097f6cf41666296da7e","Names":["/bold_einstein"],"Image":"busybox","ImageID":"sha256:7cfbbec8963d8f13e6c70416d6592e1cc10f47a348131290a55d43c3acab3fb9","Command":"sleep 10000","Created":1681625637,"Ports":[],"Labels":{},"State":"running","Status":"Up 5 seconds","HostConfig":{"NetworkMode":"default"},"NetworkSettings":{"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"b5c5f41568a8ba0385567dfa4e36d100c8341766a28c5dee56b56886521d2b2f","EndpointID":"91945b28dbfd8f7ac888024eba27d807fdc62fbd8926d1fc4ca6f63ed2c4903a","Gateway":"172.18.0.1","IPAddress":"172.18.0.2","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:12:00:02","DriverOpts":null}}},"Mounts":[]}]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

商城系统开发方案分析

互联网的不断发展,电商行业已经成为了当前最重要的商业形式之一。商城系统的开发也因此而备受关注。商城系统的开发是针对B2C、B2B2C等多种商业模式,如用户熟知的SHOP、商派等一系列商城系统,将商品和服务进行在线销售的一个综合性平台。那么…

【C语言进阶:动态内存管理】常见的动态内存错误

本节重点内容: 对NULL指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存忘记释放(内存泄漏)经典的笔试题⚡对NULL指针的解引用操作 ⚡对动态…

Linux基础命令-seq打印数字序列

Linux基础命令-sed流编辑器 前言 seq命令通常是用来打印一串有规律的数字,常与其他命令搭配使用,一起来看下它的用法。 一. 命令介绍 在doc文档中查看seq命令的含义 NAMEseq - print a sequence of numbers DESCRIPTIONPrint numbers from FIRST to…

李宏毅教程系列——增强学习

目录 0. 强化学习wiki 1. 介绍 2. Exploration vs Exploitation 探索与开发 3. 各类最优化方法 3.1 Brute force猛兽蛮力法(暴力搜索) 3.2 Value function estimation(价值函数估计) 3.2.1 Monte Carlo methods 蒙特卡洛方…

3年经验,面试测试岗只会功能测试开口要求18K,令我陷入沉思。

由于朋友临时有事, 所以今天我代替朋友进行一次面试,公司需要招聘一位自动化测试工程师,我以很认真负责的态度完成这个过程, 大概近30分钟。 主要是技术面试, 在近30分钟内, 我与被面试者是以交流学习的方式…

【Linux】通过网络版计算器来认识协议

​🌠 作者:阿亮joy. 🎆专栏:《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉再谈协议&…

腾讯云4核8G12M轻量服务器配置性能评测

腾讯云轻量4核8G12M服务器,之前是4核8G10M配置,现在公网带宽和月流量包整体升级,12M公网带宽下载速度可达1536KB/秒,系统盘为180GB SSD盘,每月2000GB免费流量,腾讯云百科来详细说下4核8G12M轻量应用服务器配…

AJAX | 拦截器、文件上传和下载

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! AJAX Ajax即Asynchronous Javascript And XML(异步JavaScript和XML);Ajax技术网页应用能够快速地将增量更新呈现在用户界面上&…

锁子甲 bulid+sim

链接: youtube 分析:洒一堆点——copy 模型——点和模型符合一定规律 点和点的距离符合上述图中的关系 (横纵) 横向 但是我们要横向10个点够了: 用modulo 除余 纵向 这里用除法向上取整 /10 eg : 0-9 得0 10-19 得1…

redis哨兵模式配置(配置文件等)

Redis-Sentinel机制主要用三个功能: (1)监控:不停监控Redis主从节点是否安装预期运行 (2)提醒:如果Redis运行出现问题可以 按照配置文件中的配置项 通知客户端或者集群管理员 (3)自动故障转移:当主节点下线之后,哨兵…

【版本控制】Github同步Gitee镜像仓库自动化脚本

文章目录Github同步Gitee镜像仓库自动化脚本前言什么是Hub Mirror Action?1.介绍2.用法配置步骤1.生成密钥对2.GitHub私钥配置3.Gitee公钥配置4.Gitee生成私人令牌5.Github绑定Gitee令牌6.编写CI脚本7.多仓库同步推送8.定时运行脚本总结Github同步Gitee镜像仓库自动…

【MyBatis Plus】002 -- 通用CRUD(插入、更新、删除、查询)

目录 3、通用CRUD 3.1 插入操作 3.1.1 方法定义 3.1.2 测试用例 3.1.3 测试 3.1.4 TableField 3.2 更新操作 3.2.1 根据id更新 3.2.2 根据条件更新 3.3 删除操作 3.3.1 根据id删除(deleteById) 3.3.2 根据Map删除数据(deleteByMap&#xff09…

Level_2(2)题目整理

文章目录L2-022 重排链表(模拟❗)L2-023 图着色问题L2-024 部落(并查集)L2-025 分而治之(与 L2-023差不多,邻接表遍历)L2-026 小字辈(求树的深度)L2-027 名人堂与代金券(💡处理&…

得物 API一站式协作平台的一些思考

1.背景 Mooncake是得物API一站式协作平台。从2022年3月份开始负责Mooncake,到现在已经一年了,回顾这一年,Mooncake大的阶段上,总共经历过两个版本: 1、Mooncake 1.0: 面向前端和客户端的mock平台,主要解决接口调用者…

C++实现前缀树

文章目录1. 什么是前缀树2. 前缀树的实现2.1 前缀树的基本结构2.2 插入2.3 word出现了几次2.3 word作为前缀出现几次2.4 删除1. 什么是前缀树 假设这里有一个字符串数组,和一个树的根结点: 这个结点的pass意思是:有几个字符通过了这个结点。…

ubuntu下Thrift安装

thrift是一种常用rpc框架,工作中经常会用到,本文记录一下其安装过程。 目录 1.下载软件包 1.1thrift下载 1.2libevent下载 1.3boost下载 2.安装(注意步骤) 2.1安装libevent 2.2安装boost 2.3安装与Python2.7版本对应的py…

【工作感悟】老程序员总结的四条工作经验教训

文章目录前言1. 不要做小需求2. 要做大需求3. 定期同步工作进度4. 项目结束,主动复盘总结前言 想来从事互联网工作已经很多年了,已经从当初的懵懂少年逐渐退化成老油条。刚毕业的时候,真是个愣头青,什么都不懂,也什么…

UE4 回放系统升级到UE5之后的代码报错问题解决

关键词: UE4 回放系统 升级 UE5 报错 DemoNetDriver GetDemoCurrentTime GetDemoTotalTime 背景 照着网上教的UE4的回放系统,也叫重播系统,英文Replay。做完了,测试运行正常,可升级到UE5却报了一堆 WorldSetting 和 …

计算机组成原理——第五章中央处理器

半生风雨半生伤,半醉半醒半心凉 文章目录前言5.1 CPU的功能和基本结构5.2 指令周期的数据流5.3.1 单总线结构5.3.2 专用通路结构前言 之前我们就说过CPU主要包括两个部分,运算器和控制器,运算器主要是实现算数运算.逻辑运算, 运算…

亲测:腾讯云轻量应用服务器性能如何?

腾讯云轻量应用服务器性能评测,轻量服务器CPU主频、处理器型号、公网带宽、月流量、Ping值测速、磁盘IO读写及使用限制,轻量应用服务器CPU内存性能和标准型云服务器CVM处于同一水准,所以大家不要担心轻量应用服务器的性能,腾讯云百…
最新文章