docker remote api

使用三种方式实现从docker hub 下载镜像,并推送到私有仓库

Docke client

  1. docker pull nginx
  2. docker tag nginx opshar.xxxx.com/app/nginx
  3. docker login opshar.xxxx.com
  4. docker push opshar.xxxx.com/app/nginx

python sdk
首先下载pip install docker

#!/usr/bin/python
import sys, json, docker.from.env()

c = docker.from.env()
try:
client.ping()
except dock.errors.APIError:
print("docker connect failed")
sys.exit(1)

#pull
for line in c.api.pull(‘nginx‘, stream=True, decode=True):
print(json.denps(line, indent=4))
#tag
tag = opshar.xxxx.com/app/nginx
try:
c.api.tag(‘nginx‘, tag, ‘latest‘, force=True)
except docker.errors.APIError:
print("tag failed")
sys.exit(1)

auth_config = {
"username": "admin",
"password": "Harbor12345"
}

#push
for line in c.api.push(tag, stream=True, decode=True, auth_config=auth_config):
print(json.denps(line, indent=4))

remote api
#pull
curl -XPOST http://IP:2375/images/create?fromImage=nginx
#TAG
curl -XPOST http://IP:2375/images/hello-world/tag?repo=opshar.xxxx.com/app/nginx

PUSH

XRA=echo ‘{"username": "admin","password": "Harbor12345", "serveraddress": "opshar.xxxx.com"}‘ | base64 --wrap=0

curl -XPOST -H "X-Registry-Auth: $XRA" \
http://IP:2375/images/opshar.xxxx.com/app/nginx

原文地址:https://blog.51cto.com/aegis8/2417026

时间: 2024-10-04 22:50:26

docker remote api的相关文章

关于docker rest api接口组件docker remote api的使用

前提: docker remote api 是docker自带的一个rest api 管理. 只要在配置文件里面申明下就可以了. 下面是docker remote api的官方的功能目录: Docker Remote API v1.3 3.1 Inside 'docker run' 3.2 Hijacking 3.3 CORS Requests 2.1 Containers 2.2 Images 2.3 Misc List containers Create a container Inspec

[开源夏令营][四] Docker remote API 之 镜像篇

列出镜像 列出镜像,有两个可选參数,一个是all,一个是filter,all可选值有,0/False/false,1/True/true,默觉得0:filter是一个包括一个过滤对象的json,形式如'{"dangling":["true"]}' GET /images/json 我们能够尝试请求一下 curl -s -XGET theegg.me/docker/images/json?all=0 | python -mjson.tool 能够看到例如以下的返回值:

docker remote api 的安全隐患

开启docker的api,首先要知道docker的守护进程daemon,在下认为daemon作为Client和service连接的一个桥梁,负责代替将client的请求传递给service端. 默认情况daemon只由root控制,但我们可以通过-H绑定到端口上,这样通过端口访问的方式执行命令. 我用的是Ubuntu17的虚拟机+docker17.03.0-ce,网上介绍两种方法 1.  直接执行 docker -d -H unix:///var/run/docker.sock -H 0.0.0

Docker开启Remote API 访问 2375端口

Docker常见端口 我看到的常见docker端口包括: 2375:未加密的docker socket,远程root无密码访问主机2376:tls加密套接字,很可能这是您的CI服务器4243端口作为https 443端口的修改2377:群集模式套接字,适用于群集管理器,不适用于docker客户端5000:docker注册服务4789和7946:覆盖网络 开启配置 方法一 首先是怎么配置远程访问的API: sudo vim /etc/default/docker 加入下面一行 DOCKER_OPT

docker 开启remote api

docker官方文档上有相关说明(Configure and run Docker on various distributions),ubuntu上是可行的 sudo vi /etc/default/docker DOCKER_OPTS="-H tcp://0.0.0.0:2375" 参考一 Ubuntu14.04使用参考一推荐的方法开启remote api没有成功 参考二 使用参考二的方法开启remote api成功了

Docker 1 12新功能探索(8) Remote Api 1 24

Docker的Remote Api并不是1.12才有的,Docker1.12的Remote Api升到了1.24.Remote api的使用在1.12中没有大的变化,稍微大一点的变化是到这个版本之后,二进制文件分裂成了主client的docker以及主server的dockerd了.在centos上通过systemd的配置变化不大,无非是将tcp://ip:port设定到启动的Option中而已,下面来看一下如何设定和简单使用. 事前确认 可以看到只有unix socket的方式 [[email

使用python的docker-py实现docker的api操作

前沿: 听同事说,以后的dba申请可能有部分走其他部门的docker ,那边貌似在搞一个类似docker的平台管理系统,据说很霸道.于是乎,我自己也想尝试写一个简单的doker管理平台.  做为起步我先搞搞docker api,docker官网有个docker-py,用起来很是清爽简单. 首先安装docker的python相关的模块. [email protected]:~# pip install docker-py Requirement already satisfied (use --u

安装docker-python和docker rest api

1.docker软件自带docker rest api,不用安装: 需要设置下docker配置文件 vi /etc/default/docker.io  或者 vi /etc/default/docker #追加下面一行 DOCKER_OPTS="-H tcp://0.0.0.0:5555 -H  unix://var/run/docker.sock" 重启下docker,  service  docker  restart即可.用法: #1.查看所有镜像 #curl 'http://

Centos 7 Docker配置secure remote api

log查看: sudo journalctl -fu docker.service 证书生成参考: https://docs.docker.com/engine/security/https/ vi /lib/systemd/system/docker.service: [Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network.target doc