当前位置: 首页 > news >正文

做网站怎么qq邮箱验证官方网站优化价格

做网站怎么qq邮箱验证,官方网站优化价格,西安网站开发公司价格,建站开发工具文章目录 1.容器相关1.1 列出所有容器1.2 创建新容器1.3 检查容器1.4 启动容器1.5 停止容器1.6 重启容器1.8 删除容器1.14 根据资源使用情况获取容器统计信息1.16 获取容器日志 2.镜像相关2.1 获取镜像清单2.2 构建镜像2.4 检查镜像2.5 获取镜像的历史记录2.6 标记一个镜像2.8 … 文章目录 1.容器相关1.1 列出所有容器1.2 创建新容器1.3 检查容器1.4 启动容器1.5 停止容器1.6 重启容器1.8 删除容器1.14 根据资源使用情况获取容器统计信息1.16 获取容器日志 2.镜像相关2.1 获取镜像清单2.2 构建镜像2.4 检查镜像2.5 获取镜像的历史记录2.6 标记一个镜像2.8 删除镜像2.9 删除全部镜像 Docker Remote API是一个取代远程命令行界面rcli的REST API。本文中我们将使用命令行工具cURL来处理url相关操作。cURL可以发送请求、获取以及发送数据、检索信息。 本文档能够完成主要借助于以下文档 docker api 官方文档dockerone组织翻译文档 1.容器相关 1.1 列出所有容器 GET /containers/json URL: /containers/json 查询参数: all 获取所有容器信息默认为false仅显示正在运行的容器limit返回最近创建的容器的数量包括未运行的容器。例如limit5 则返回5个最近创建的5个容器信息size将容器的大小作为字段SizeRw和SizeRootFs返回默认为falsefilters过滤器处理容器列表编码为JSON (map[string][]string)。例如{“status”: [ stopped ]}将只返回暂停的容器 请求示例: 获取正在运行中的容器列表 curl http://127.0.0.1:5678/containers/json 查询全部的容器包含不是正在运行的容器 curl http://127.0.0.1:5678/containers/json?all1 响应结果: [rootlocalhost ~]# curl http://10.20.29.21:6666/containers/json?alltrue [{Id:15ffc3340941281cd6f515c1d34d15ee0cea3ee70cd1a0e34e39f94fcf06c98b,Names:[/shipyard-swarm-agent],Image:docker.io/swarm:latest,ImageID:sha256:ff454b4a0e84e50c50e3df457ad44b80f1a67ec6ec75cff5117dd5dc46bf4965,Command:/swarm join --addr 10.20.29.21:6666 token://a997b11fdba7ede2551f9f8a17483bee,Created:1554858486,Ports:[{PrivatePort:2375,Type:tcp}],Labels:{},State:running,Status:Up About an hour,HostConfig:{NetworkMode:default},NetworkSettings:{Networks:{bridge:{IPAMConfig:null,Links:null,Aliases:null,NetworkID:74227783d8af05a30ae0d8817d984e815144387c1b1e4b7c6b9b10915579b61e,EndpointID:9f85ced521dd4d081954de20af5350672fa08de18882614005d10ad2b94ff8b9,Gateway:172.17.0.1,IPAddress:172.17.0.4,IPPrefixLen:16,IPv6Gateway:,GlobalIPv6Address:,GlobalIPv6PrefixLen:0,MacAddress:02:42:ac:11:00:04,DriverOpts:null}}},Mounts:[{Type:volume,Name:534f08f77e48bbc588756c5c1113807a3a0cbe8c6e073fb781fe6fd04a1d0d1c,Source:,Destination:/.swarm,Driver:local,Mode:,RW:true,Propagation:}]} ......注可通过python -mjson.tool可以将JSON数据格式化显示 成功后返回的参数 ID这个容器的IDNames这个容器的名称Image创建此容器时使用的镜像的名称ImageID创建此容器时使用的镜像的IDCommand启动容器时运行的命令Created容器创建时间Ports这个容器暴露的端口State这个容器的状态例如已关闭Status容器运行时长或关闭时长NetworkSettings 容器网络设置的摘要信息Mounts容器的文件或目录挂载信息 响应状态码解释 204 没有错误400 参数不对500 服务器错误 1.2 创建新容器 POST /containers/create URL /containers/create 查询参数 name即将被创建容器的名称 创建容器参数 Hostname用于容器的主机名Domainname用于容器的域名User在容器内运行命令的用户AttachStdin是否连接到Stdin默认为falseAttachStdout是否连接到Stdout默认为falseAttachStderr是否连接到Stderr默认为falseExposedPorts端口映射容器需要暴露的端口PortBindings公开的容器端口和它们应该映射到的主机端口的映射Tty将标准流附加到TTY包括stdin它是否未关闭OpenStdin打开标准输入StdinOnce连接的客户端断开后关闭标准输入Env设置容器内部环境变量Cmd需要在容器内部执行的命令命令以字符串的形式运行Healthcheck检查容器是否健康的运行Image创建容器时使用的镜像名称Volumes宿主机与容器之间文件或目录的映射WorkingDir运行命令的工作目录即容器工作目录Entrypoint指定字符串命令所在目录NetworkDisabled是否禁用容器网络MacAddress容器的MAC地址Labels添加一个标签到容器StopSignal发出停止容器的信号StopTimeout以秒为单位停止容器的超时HostConfig依赖于我们所运行的主机的容器配置NetworkingConfig 这个容器的网络配置 1、请求示例: 仅映射端口 curl -X POST -H “Content-Type: application/json” -d ‘{“AttachStdin”: false,“AttachStdout”: true,“AttachStderr”: true,“Tty”: false,“OpenStdin”: false,“StdinOnce”: false,“Image”: “nginx:1.14”,“Volumes”: {“/mnt/data”:{}},“PortBindings”:{ “80/tcp”:[{“HostPort”: “8888”}]} }’ http://127.0.0.1:6666/containers/create?namenginx 响应结果: [rootlocalhost wasm]# curl -X POST -H Content-Type: application/json -d {AttachStdin: false,AttachStdout: true,AttachStderr: true,Tty: false,OpenStdin: false,StdinOnce: false,Image: nginx:1.14,Volumes: {/mnt/data:{}},PortBindings:{ 80/tcp:[{HostPort: 8888}]} } http://127.0.0.1:6666/containers/create?namenginx-test {Id:5cee7175339b9cafbfa7b66e4b719aa4261a1f018f8f33dff4a50cf0ee73fc0f,Warnings:null} 2、请求示例: 映射端口及目录 curl -X POST -H “Content-Type: application/json” -d ‘{“AttachStdin”: false,“AttachStdout”: true,“AttachStderr”: true,“Tty”: false,“OpenStdin”: false,“StdinOnce”: false,“Image”: “zht-baseclient:v1.0”,“Binds”:[“/mnt/app/zht/baseclient/project:/data”,“/etc/localtime:/etc/localtime”,“/etc/timezone:/etc/timezone”],“ExposedPorts”: {“8081/tcp”: {}},“PortBindings”:{“8081/tcp”:[{“HostIp”:“”,“HostPort”:“18081”}]}}’ http://127.0.0.1:2375/containers/create?namebaseclient 响应结果: [rootlocalhost baseclient]# curl -X POST -H Content-Type: application/json -d {AttachStdin: false,AttachStdout: true,AttachStderr: true,Tty: false,OpenStdin: false,StdinOnce: false,Image: zht-baseclient:v1.0,Binds:[/mnt/app/zht/baseclient/project:/data,/etc/localtime:/etc/localtime,/etc/timezone:/etc/timezone],ExposedPorts: {8081/tcp: {}},PortBindings:{8081/tcp:[{HostIp:,HostPort:18081}]}} http://127.0.0.1:2375/containers/create?namebaseclient {Id:8c0ddcb1921760ccf3cad0279cc8281a3d81a87f58c37d300d558685a47e8c8f,Warnings:null} 3、请求示例: 映射端口及使用host模式映射端口 curl -X POST -H “Content-Type: application/json” -d ‘{“AttachStdin”: false,“AttachStdout”: true,“AttachStderr”: true,“Tty”: false,“OpenStdin”: false,“StdinOnce”: false,“Image”: “zht-baseclient:v1.0”,“Binds”:[“/mnt/app/zht/baseclient/project:/data”,“/etc/localtime:/etc/localtime”,“/etc/timezone:/etc/timezone”],“NetworkMode”:“host”,“PortBindings”:{},“RestartPolicy”:{“Name”:“unless-stopped”,“MaximumRetryCount”:0}}’ http://127.0.0.1:2375/containers/create?namebaseclient 响应结果: [rootlocalhost ~]# curl -X POST -H Content-Type: application/json -d {AttachStdin: false,AttachStdout: true,AttachStderr: true,Tty: false,OpenStdin: false,StdinOnce: false,Image: zht-baseclient:v1.0,Binds:[/mnt/app/zht/baseclient/project:/data,/etc/localtime:/etc/localtime,/etc/timezone:/etc/timezone],NetworkMode:host,PortBindings:{},RestartPolicy:{Name:unless-stopped,MaximumRetryCount:0}} http://127.0.0.1:2375/containers/create?namebaseclient {Id:fda7518cd757e604d963c91f3684317c5f29e27db6a186bed74b7f94acff6a16,Warnings:null} 以上api各种使用方法灵感来源于 hostconfig.json文件 文件路径/var/lib/docker/containers/容器ID/hostconfig.json [rootlocalhost 35a2f9491f6ad3d43a8e7c8b62acec1ccc82e90db844988b5a3c5f2ac630da5c]# cat hostconfig.json {Binds:[/etc/localtime:/etc/localtime,/etc/timezone:/etc/timezone,/mnt/public/mysql/data:/var/lib/mysql,/mnt/public/mysql/my.cnf:/etc/mysql/my.cnf],ContainerIDFile:,LogConfig:{Type:json-file,Config:{}},NetworkMode:default,PortBindings:{3306/tcp:[{HostIp:,HostPort:13306}]},RestartPolicy:{Name:unless-stopped,MaximumRetryCount:0},AutoRemove:false,VolumeDriver:,VolumesFrom:null,CapAdd:null,CapDrop:null,Dns:[],DnsOptions:[],DnsSearch:[],ExtraHosts:null,GroupAdd:null,IpcMode:shareable,Cgroup:,Links:null,OomScoreAdj:0,PidMode:,Privileged:false,PublishAllPorts:false,ReadonlyRootfs:false,SecurityOpt:null,UTSMode:,UsernsMode:,ShmSize:67108864,Runtime:runc,ConsoleSize:[0,0],Isolation:,CpuShares:0,Memory:0,NanoCpus:0,CgroupParent:,BlkioWeight:0,BlkioWeightDevice:[],BlkioDeviceReadBps:null,BlkioDeviceWriteBps:null,BlkioDeviceReadIOps:null,BlkioDeviceWriteIOps:null,CpuPeriod:0,CpuQuota:0,CpuRealtimePeriod:0,CpuRealtimeRuntime:0,CpusetCpus:,CpusetMems:,Devices:[],DeviceCgroupRules:null,DiskQuota:0,KernelMemory:0,MemoryReservation:0,MemorySwap:0,MemorySwappiness:null,OomKillDisable:false,PidsLimit:0,Ulimits:null,CpuCount:0,CpuPercent:0,IOMaximumIOps:0,IOMaximumBandwidth:0,MaskedPaths:[/proc/asound,/proc/acpi,/proc/kcore,/proc/keys,/proc/latency_stats,/proc/timer_list,/proc/timer_stats,/proc/sched_debug,/proc/scsi,/sys/firmware],ReadonlyPaths:[/proc/bus,/proc/fs,/proc/irq,/proc/sys,/proc/sysrq-trigger]}注意此时容器为Created创建状态还需要启动容器 [rootlocalhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5cee7175339b nginx:1.14 nginx -g daemon of… 6 seconds ago Created nginx[rootlocalhost ~# docker start nginx 响应状态码解释 201 容器已成功创建 成功后返回的参数 ID被创建的容器ID Warnings创建容器时遇到的警告错误 400 参数不对 404 没有这个容器 409 冲突 500 服务器错误 1.3 检查容器 获取关于容器的底层信息。 GET /containers/(id)/json URL: /containers/(id)/json 路径参数: ID容器的ID或名称 查询参数: size将容器的大小作为字段SizeRw和SizeRootFs返回默认为false 请求示例: curl http://10.20.29.21:6666/containers/4eccce38c57f/json 响应结果: [rootlocalhost ~]# curl http://10.20.29.21:5678/containers/4eccce38c57f/json {Id:4eccce38c57f183feef8ec76dfa64bbc0caa21e26b3968efa98121fe037bdad1,Created:2018-12-07T12:56:38.189610103Z,Path:nginx,Args:[-g,daemon off;],State:{Status:exited,Running:false,Paused:false,Restarting:false,OOMKilled:false,Dead:false,Pid:0,ExitCode:0,Error:,StartedAt:2019-01-12T01:32:54.412546647Z,FinishedAt:2019-01-12T01:47:57.571820667Z},Image:sha256:4037a5562b030fd80ec889bb885405587a52cfef898ffb7402649005dfda75ff ......注可通过python -mjson.tool可以将JSON数据格式化显示 响应状态码解释 204 没有错误404 没有这个容器500 服务器错误 1.4 启动容器 POST /containers/(id)/start URL: /containers/{id}/start 路径参数: ID容器的ID或名称 查询参数: detachKeys覆盖用于分离容器的键序列。格式是一个单独的字符[a-Z]或ctrl-其中是下列之一a-z^[,或_ 请求示例: curl -v --raw -X POST http://10.20.29.15:5678/containers/4eccce38c57f/start 响应结果: [rootlocalhost ~]# curl -v --raw -X POST http://10.20.29.15:5678/containers/4eccce38c57f/start * About to connect() to 10.20.29.21 port 2375 (#0) * Trying 10.20.29.21... * Connected to 10.20.29.21 (10.20.29.21) port 2375 (#0)POST /containers/4eccce38c57f/start HTTP/1.1User-Agent: curl/7.29.0Host: 10.20.29.21:2375Accept: */*HTTP/1.1 204 No ContentApi-Version: 1.39Docker-Experimental: falseOstype: linuxServer: Docker/18.09.0 (linux)Date: Tue, 09 Apr 2019 09:14:06 GMT* Connection #0 to host 10.20.29.21 left intact响应状态码解释 204 没有错误304 容器已经启动404 没有这个容器500 服务器错误 1.5 停止容器 POST /containers/(id)/stop URL: /containers/{id}/stop 路径参数: ID容器的ID或名称 查询参数: t在关闭容器之前等待的秒数 请求示例: curl -v --raw -X POST http://10.20.29.15:5678/containers/f59103b6bfd1/stop #直接关闭容器 curl -v --raw -X POST http://127.0.0.1:5678/containers/容器ID/stop?t5 #等待5秒关闭容器 响应结果: [rootlocalhost ~]# curl -v --raw -X POST http://10.20.29.15:5678/containers/f59103b6bfd1/stop * About to connect() to 10.20.29.15 port 5678 (#0) * Trying 10.20.29.15... * Connected to 10.20.29.15 (10.20.29.15) port 5678 (#0)POST /containers/f59103b6bfd1/stop HTTP/1.1User-Agent: curl/7.29.0Host: 10.20.29.15:5678Accept: */*HTTP/1.1 204 No ContentApi-Version: 1.39Docker-Experimental: falseOstype: linuxServer: Docker/18.09.3 (linux)Date: Tue, 09 Apr 2019 09:23:15 GMT* Connection #0 to host 10.20.29.15 left intact 响应状态码解释 204 没有错误304 容器已经停止404 没有这个容器500 服务器错误 1.6 重启容器 POST /containers/{id}/restart URL /containers/{id}/restart 路径参数: ID容器的ID或名称 查询参数: t在关闭容器之前等待的秒数 请求示例: curl -v --raw -X POST http://10.20.29.15:5678/containers/f59103b6bfd1/restart curl -v --raw -X POST http://10.20.29.15:5678/containers/f59103b6bfd1/restart?t5 响应结果: [rootlocalhost ~]# curl -v --raw -X POST http://10.20.29.15:5678/containers/f59103b6bfd1/restart * About to connect() to 10.20.29.15 port 5678 (#0) * Trying 10.20.29.15... * Connected to 10.20.29.15 (10.20.29.15) port 5678 (#0)POST /containers/f59103b6bfd1/restart HTTP/1.1User-Agent: curl/7.29.0Host: 10.20.29.15:5678Accept: */*HTTP/1.1 204 No ContentApi-Version: 1.39Docker-Experimental: falseOstype: linuxServer: Docker/18.09.3 (linux)Date: Tue, 09 Apr 2019 09:36:29 GMT* Connection #0 to host 10.20.29.15 left intact 响应状态码解释: 204 没有错误404 没有这样的容器500 服务器错误 1.8 删除容器 DELETE /containers/{id} URL: /containers/{id} 路径参数: ID容器的ID或名称 查询参数: v 删除与容器关联的卷默认为falseforce 如果容器正在运行请在删除之前杀死它默认为falselink删除与容器关联的指定链接默认为false 请求示例: curl -v -X DELETE http://127.0.0.1:5678/containers/6c66e2135f24 响应结果: [rootlocalhost ~]# curl -v -X DELETE http://127.0.0.1:5678/containers/6c66e2135f24 * About to connect() to 127.0.0.1 port 5678 (#0) * Trying 127.0.0.1... * Connected to 127.0.0.1 (127.0.0.1) port 5678 (#0)DELETE /containers/6c66e2135f24 HTTP/1.1User-Agent: curl/7.29.0Host: 127.0.0.1:5678Accept: */*HTTP/1.1 204 No ContentApi-Version: 1.39Docker-Experimental: falseOstype: linuxServer: Docker/18.09.3 (linux)Date: Tue, 09 Apr 2019 07:42:04 GMT* Connection #0 to host 127.0.0.1 left intact 注删除正在运行的容器如果使用以上请求命令则会报错 HTTP/1.1 409 ConflictApi-Version: 1.39Content-Type: application/jsonDocker-Experimental: falseOstype: linuxServer: Docker/18.09.3 (linux)Date: Tue, 09 Apr 2019 07:41:33 GMTContent-Length: 179{message:You cannot remove a running container f59103b6bfd1cbf753c97cfd63b83f484bdae1b3f14ff0f5b192d4e191e22f5b. Stop the container before attempting removal or force remove} * Connection #0 to host 127.0.0.1 left intact 若需要删除正在运行的容器请使用如下请求命令 curl -v -X DELETE http://127.0.0.1:5678/containers/a3e7b90dd836?forcetrue 响应结果: [rootlocalhost ~]# curl -v -X DELETE http://127.0.0.1:5678/containers/a3e7b90dd836?forcetrue * About to connect() to 127.0.0.1 port 5678 (#0) * Trying 127.0.0.1... * Connected to 127.0.0.1 (127.0.0.1) port 5678 (#0)DELETE /containers/a3e7b90dd836?forcetrue HTTP/1.1User-Agent: curl/7.29.0Host: 127.0.0.1:5678Accept: */*HTTP/1.1 204 No ContentApi-Version: 1.39Docker-Experimental: falseOstype: linuxServer: Docker/18.09.3 (linux)Date: Tue, 09 Apr 2019 05:22:23 GMT* Connection #0 to host 127.0.0.1 left intact响应状态码解释: 204 没有错误400 坏的参数404 没有这个容器409 冲突如容器正在运行500 服务器错误 1.14 根据资源使用情况获取容器统计信息 此api用来显示容器使用的系统资源下面是输出的主要内容 [CONTAINER]以短格式显示容器的 ID。[CPU %]CPU 的使用情况。[MEM USAGE / LIMIT]当前使用的内存和最大可以使用的内存。[MEM %]以百分比的形式显示内存使用情况。[NET I/O]网络 I/O 数据。[BLOCK I/O]磁盘 I/O 数据。[PIDS]PID 号。 GET /containers/{id}/stats URL: /containers/{id}/stats 路径参数: ID容器的ID或名称 查询参数: stream流输出如果为false则统计信息将输出一次然后将断开连接。默认为true 默认情况下只返回当前的状态但可以每隔 1 秒钟刷新一次输出的内容如果不想持续的监控容器使用资源的情况可以通过streamfalse 参数只输出当前的状态。 请求示例: curl http://10.20.29.21:2375/containers/545a4863e32f/stats?streamfalse 响应结果: [rootlocalhost ~]# curl http://10.20.29.21:2375/containers/545a4863e32f/stats?streamfalse {read:2019-04-09T12:49:39.82789284Z,preread:2019-04-09T12:49:38.825314468Z,pids_stats:{current:25},blkio_stats:{io_service_bytes_recursive:[],io_serviced_recursive:[],io_queue_recursive:[],io_service_time_recursive:[],io_wait_time_recursive:[],io_merged_recursive:[],io_time_recursive:[],sectors_recursive:[]},num_procs:0,storage_stats:{},cpu_stats:{cpu_usage:{total_usage:27356238626,percpu_usage:[3568026315,3567907546,2604128115,4723295390,5379339014,5697405323,818240931,997895992],usage_in_kernelmode:1120000000,usage_in_usermode:1890000000},system_cpu_usage:835459830000000,online_cpus:8,throttling_data:{periods:0,throttled_periods:0,throttled_time:0}},precpu_stats:{cpu_usage:{total_usage:27354558405,percpu_usage:[3568026315,3567840282,2604054202,4723295390,5377875899,5697405323,818165002,997895992],usage_in_kernelmode:1120000000,usage_in_usermode:1890000000},system_cpu_usage:835451830000000,online_cpus:8,throttling_data:{periods:0,throttled_periods:0,throttled_time:0}},memory_stats:{usage:99807232,max_usage:101842944,stats:{active_anon:99774464,active_file:0,cache:32768,dirty:0,hierarchical_memory_limit:9223372036854771712,hierarchical_memsw_limit:9223372036854771712,inactive_anon:0,inactive_file:32768,mapped_file:32768,pgfault:19237,pgmajfault:0,pgpgin:11226,pgpgout:10876,rss:99774464,rss_huge:90177536,total_active_anon:99774464,total_active_file:0,total_cache:32768,total_dirty:0,total_inactive_anon:0,total_inactive_file:32768,total_mapped_file:32768,total_pgfault:19237,total_pgmajfault:0,total_pgpgin:11226,total_pgpgout:10876,total_rss:99774464,total_rss_huge:90177536,total_unevictable:0,total_writeback:0,unevictable:0,writeback:0},limit:8182054912},name:/zookeeper,id:545a4863e32f4b2280bb8e5a469159a711fdb146266ecf0bf1133920024a8b2c,networks:{eth0:{rx_bytes:656,rx_packets:8,rx_errors:0,rx_dropped:0,tx_bytes:0,tx_packets:0,tx_errors:0,tx_dropped:0}}}注可通过python -mjson.tool可以将JSON数据格式化显示 响应状态码解释: 200 没有错误404 没有这样的容器500 服务器错误 1.16 获取容器日志 GET /containers/{id}/logs URL: /containers/{id}/logs 路径参数 id容器的名称或者ID 查询参数 follow以数据流的形式返回日志将返回一个带有Connection: upgrade头的101 HTTP响应默认为falsestdout标准输出日志默认为falsestderr日志输出为标准错误默认为falsesince只返回这次以后的日志作为UNIX时间戳until只返回在此之前的日志作为UNIX时间戳timestamps将时间戳添加到每个日志行默认为falsetail只返回日志末尾的日志行数。指定为整数或all以输出所有日志行例tail100 请求示例 curl http://10.20.29.21:6666/containers/ba5cf1607701/logs?stdouttruestdouttruefollowtruetailall [rootlocalhost ~]# curl http://10.20.29.21:6666/containers/ba5cf1607701/logs?stdouttruestdouttruefollowtruetailall [7] 31749 [8] 31750 [9] 31751 [8] 完成 stdouttrue [rootlocalhost ~]# ±0.20.29.154 - - [11/Apr/2019:16:34:03 0000] GET / HTTP/1.1 200 612 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 - 䯰.20.29.154 - - [11/Apr/2019:16:34:03 0000] GET /favicon.ico HTTP/1.1 404 571 http://10.20.29.21:8080/ Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 - 10.20.29.154 - - [11/Apr/2019:16:34:15 0000] GET / HTTP/1.1 304 0 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 - 10.20.29.154 - - [11/Apr/2019:16:35:05 0000] GET / HTTP/1.1 304 0 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 - 10.20.29.154 - - [11/Apr/2019:16:35:06 0000] GET / HTTP/1.1 304 0 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 - 10.20.29.154 - - [11/Apr/2019:16:35:06 0000] GET / HTTP/1.1 304 0 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 - ...... \10.20.29.26 - - [11/Apr/2019:17:34:19 0000] GET / HTTP/1.1 200 612 - curl/7.29.0 - 10.20.29.26 - - [11/Apr/2019:17:34:20 0000] GET /curl HTTP/1.1 404 169 - curl/7.29.0 - \10.20.29.26 - - [11/Apr/2019:17:34:20 0000] GET / HTTP/1.1 200 612 - curl/7.29.0 - 10.20.29.26 - - [11/Apr/2019:17:34:20 0000] GET /curl HTTP/1.1 404 169 - curl/7.29.0 - \10.20.29.26 - - [11/Apr/2019:17:34:20 0000] GET / HTTP/1.1 200 612 - curl/7.29.0 -[7] 完成 curl http://10.20.29.21:6666/containers/ba5cf1607701/logs?stdouttrue [9] 完成 followtrue响应状态码解释 101 日志作为流数据返回200 没有错误4.4 没有这个容器500 服务器错误 2.镜像相关 2.1 获取镜像清单 返回服务器上的镜像列表 GET /images/json URL /images/json 查询参数 all 显示所有图片。默认为false只显示最后一层的图像(没有子层)即最终层filters过滤器的JSON编码值(map[string][]string)用于处理镜像列表digests将摘要信息显示为每个镜像上的RepoDigests字段默认为false 请求示例 curl http://127.0.0.1:6666/images/json 响应结果 [rootlocalhost wasm]# curl http://127.0.0.1:6666/images/json | python -m json.tool% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed 100 3550 0 3550 0 0 525k 0 --:--:-- --:--:-- --:--:-- 577k [{Containers: -1,Created: 1554895762,Id: sha256:8bc2104b95693541c31524ba25b7819af14b45360c0efa0c7d5b69344050a96b,Labels: null,ParentId: sha256:996598012bcb1435d8e801cc3bc7041cb257f958095ff9c52f181c22ffbf24f6,RepoDigests: null,RepoTags: [basis:latest],SharedSize: -1,Size: 12369196,VirtualSize: 12369196},{Containers: -1,Created: 1554895758,Id: sha256:1c5c084fb13ab7cca82b6ee226a4ac19dbeb6f2983e8a81b1d5905ff83e062e4,Labels: null,ParentId: sha256:49dc3f8ad471e760b96ac88fb367c6d72e503b34ae7767a7421b64fc54430e1c,RepoDigests: [nonenone],RepoTags: [none:none],SharedSize: -1,Size: 345580587,VirtualSize: 345580587}, 响应状态码解释 200 与查询匹配的镜像的摘要镜像数据500 服务器错误 2.2 构建镜像 POST /build 查询参数 t设置镜像名要以name:tag格式应用于图像的名称和可选标记。如果省略标记latest则假定为默认值。 请求示例 curl -X POST “http://10.20.29.21:6666/build?tcontract:1.1remotehttps://github.com/wuxiaoyong/apiserver_demos/raw/master/contract-1.1.tar.gz” tcontract:1.1 build后的镜像名与版本号 remote dockerfile的tar包链接地址 响应结果 [rootlocalhost /]# curl -X POST http://10.20.29.21:6666/build?tcontract:1.1remotehttps://github.com/wuxiaoyong/apiserver_demos/raw/master/contract-1.1.tar.gz {status:https://github.com/wuxiaoyong/apiserver_demos/raw/master/contract-1.1.tar.gz,progressDetail:{current:4719},progress: 4.719kB,id:Downloading context} {stream:Step 1/7 : FROM golang:1.11} {stream:\n} {stream: ---\u003e 28daaf3edbdb\n} {stream:Step 2/7 : ENV GO_PATH/go/src/} {stream:\n} {stream: ---\u003e Running in 2ce99db89d68\n} {stream:Removing intermediate container 2ce99db89d68\n} {stream: ---\u003e 5d96a6cb3d7b\n} {stream:Step 3/7 : ENV CON_PATH/go/src/git.phjr.com/contract-server} {stream:\n} ...... {stream: ---\u003e Running in 82573697eedf\n} {stream:Removing intermediate container 82573697eedf\n} {stream: ---\u003e 3c470596b89e\n} {aux:{ID:sha256:3c470596b89e4ee7a9a63e69fb6624f44a2a84f5974aab15af1d1964bd59ade4}} {stream:Successfully built 3c470596b89e\n} {stream:Successfully tagged contract:1.1\n}[rootlocalhost /]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE contract 1.1 3c470596b89e 12 seconds ago 837MB 响应状态码解释 200 没有错误400 参数错误500 服务器错误 2.4 检查镜像 获取关于镜像的底层信息 GET /images/{name}/json URL /images/{name}/json 路径参数 name: 镜像名称或ID 请求示例 curl http://127.0.0.1:6666/images/8bc2104b9569/json 响应结果 [rootlocalhost ~]# curl http://127.0.0.1:6666/images/8bc2104b9569/json | python -mjson.tool% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed 100 2420 0 2420 0 0 557k 0 --:--:-- --:--:-- --:--:-- 590k {Architecture: amd64,Author: ,Comment: ,Config: {ArgsEscaped: true,AttachStderr: false,AttachStdin: false,AttachStdout: false,Cmd: [/bin/sh,-c,/mnt/wasm /mnt/compare.wasm 1 1],Domainname: ,Entrypoint: null,Env: [PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin,SRC_DIR/go/src/git.phjr.com],Hostname: ,Image: sha256:996598012bcb1435d8e801cc3bc7041cb257f958095ff9c52f181c22ffbf24f6,Labels: null,OnBuild: null,OpenStdin: false,StdinOnce: false,Tty: false,User: ,Volumes: null,WorkingDir: },Container: 1dfcec665a0479c6519ffdea5516bc619b70a154114700d46ba583f44074ee12,ContainerConfig: {ArgsEscaped: true,AttachStderr: false,AttachStdin: false,AttachStdout: false,Cmd: [/bin/sh,-c,#(nop) ,CMD [\/bin/sh\ \-c\ \/mnt/wasm /mnt/compare.wasm 1 1\]],Domainname: ,Entrypoint: null,Env: [PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin,SRC_DIR/go/src/git.phjr.com],Hostname: 1dfcec665a04,Image: sha256:996598012bcb1435d8e801cc3bc7041cb257f958095ff9c52f181c22ffbf24f6,Labels: {},OnBuild: null,OpenStdin: false,StdinOnce: false,Tty: false,User: ,Volumes: null,WorkingDir: 响应结果解释 200 没有错误404 没有这个镜像500 服务器错误 2.5 获取镜像的历史记录 每一个镜像都可能依赖于由一个或多个下层的组成的另一个镜像这条请求就是查看最终镜像的镜像层记录 GET /images/{name}/history URL /images/{name}/history 路径参数 name: 镜像的名称或者ID 请求示例 curl http://10.20.29.26:6666/images/8bc2104b9569/history 响应结果 [rootlocalhost ~]# curl http://10.20.29.26:6666/images/8bc2104b9569/history |python -mjson.tool% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed 100 1356 100 1356 0 0 287k 0 --:--:-- --:--:-- --:--:-- 331k [{Comment: ,Created: 1554895762,CreatedBy: /bin/sh -c #(nop) CMD [\/bin/sh\ \-c\ \/mnt/wasm /mnt/compare.wasm 1 1\],Id: sha256:8bc2104b95693541c31524ba25b7819af14b45360c0efa0c7d5b69344050a96b,Size: 0,Tags: [basis:latest]},{Comment: ,Created: 1554895762,CreatedBy: /bin/sh -c #(nop) COPY file:c4cd840b1e62e31e6717e6ae158d6533291637acab1efaa4b77f6d7185181cd5 in /mnt/ ,Id: sha256:996598012bcb1435d8e801cc3bc7041cb257f958095ff9c52f181c22ffbf24f6,Size: 2444971,Tags: null},{Comment: ,Created: 1554895761,CreatedBy: /bin/sh -c #(nop) COPY file:8cc7ec5e2f20daf71d43c8467d3ab0419c50e6d694510d02329be966e7c6f75c in /mnt/ ,Id: sha256:f766d15551a2f5e9f9450f2f7cafdc959bf80de69a6d612946b9569b42ef7961,Size: 4391090,Tags: null},{Comment: ,Created: 1554895759,CreatedBy: /bin/sh -c #(nop) ENV SRC_DIR/go/src/git.phjr.com,Id: sha256:20e3faf18f3500632d1496f3d1034d84cd856669f5470a49b7cf36e80938fa6f,Size: 0,Tags: null},{Comment: ,Created: 1554852018,CreatedBy: /bin/sh -c #(nop) CMD [\/bin/sh\],Id: sha256:cdf98d1859c1beb33ec70507249d34bacf888d59c24df3204057f9a6c758dddb,Size: 0,Tags: [alpine:latest]}, 响应状态码解释 200 镜像层列表404 没有这个镜像500 服务器错误 2.6 标记一个镜像 为一个镜像打一个标签 POST /images/{name}/tag URL /images/{name}/tag 路径参数 name镜像名称或者ID 查询参数: repo要标记的存储库的名称tag新标记的名称 请求示例 curl -v -X POST http://10.20.29.26:6666/images/8bc2104b9569/tag?repo镜像新标签名:版本号 响应结果: [rootlocalhost ~]# curl -v -X POST http://10.20.29.26:6666/images/8bc2104b9569/tag?repo10.20.29.45/myproject/basechain:1.1 * About to connect() to 10.20.29.26 port 6666 (#0) * Trying 10.20.29.26... * Connected to 10.20.29.26 (10.20.29.26) port 6666 (#0)POST /images/8bc2104b9569/tag?repo10.20.29.45/myproject/basechain:1.1 HTTP/1.1User-Agent: curl/7.29.0Host: 10.20.29.26:6666Accept: */*HTTP/1.1 201 CreatedApi-Version: 1.39Docker-Experimental: falseOstype: linuxServer: Docker/18.09.4 (linux)Date: Thu, 11 Apr 2019 03:39:09 GMTContent-Length: 0* Connection #0 to host 10.20.29.26 left intact[rootlocalhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 10.20.29.45/myproject/basechain 1.1 8bc2104b9569 16 hours ago 12.4MB basis latest 8bc2104b9569 16 hours ago 12.4MB 响应状态码解释 201 没有错误400 参数错误409 冲突例新标签名称冲突500 服务器错误 2.8 删除镜像 删除一个镜像以及该镜像引用的任何未标记的父镜像 如果镜像具有子镜像、正在运行的容器使用该镜像或正在生成镜像则无法删除该镜像 DELETE /images/{name} URL /images/{name} 路径参数 name: 镜像名称或者ID 查询参数 force即使被停止的容器或其他标记使用也要删除镜像默认为false noprune不能删除未加标签的父镜像默认为false 请求示例 curl -v -X DELETE http://127.0.0.1:5678/images/镜像ID或镜像名 响应结果 [rootlocalhost ~]# curl -v -X DELETE http://127.0.0.1:6666/images/nginx:1.15 * About to connect() to 127.0.0.1 port 6666 (#0) * Trying 127.0.0.1... * Connected to 127.0.0.1 (127.0.0.1) port 6666 (#0)DELETE /images/nginx:1.15 HTTP/1.1User-Agent: curl/7.29.0Host: 127.0.0.1:6666Accept: */*HTTP/1.1 200 OKApi-Version: 1.39Content-Type: application/jsonDocker-Experimental: falseOstype: linuxServer: Docker/18.09.0 (linux)Date: Wed, 10 Apr 2019 22:59:19 GMTContent-Length: 379[{Untagged:nginx:1.15},{Untagged:nginxsha256:d14bbdf20f42375020c80315041ba252623b489966c5b5b0ce9d244fa4bf0400},{Deleted:sha256:bb776ce48575796501bcc53e511563116132b789ab0552d520513da8c738cba2},{Deleted:sha256:43e4bf6ebb72bc17f5f35af0ace5e5d5db31b2b631fac2cca3d4be2420ca9758},{Deleted:sha256:2ceeec5cb749c4154ae2390bc3e0c2a4dee8663ca7012ca37a293734de83d498}] * Connection #0 to host 127.0.0.1 left intact 响应状态码解释 200 镜像已成功删除404 没有这个镜像409 冲突例如镜像正在被某一个容器使用没有使用强制删除500 服务器错误 2.9 删除全部镜像 使用此方法可删除所有已停止的容器请慎用
http://www.zqtcl.cn/news/769530/

相关文章:

  • 自己做的网站字体变成方框seo同行网站
  • 宁波网站建设培训微信小程序开发平台官网
  • 西部数码做的网站打不开哈尔滨模板建站推荐
  • 外贸网站建设流程杭州软件定制开发
  • 网站的首页面设计软文推广特点
  • 网站描述在哪里写网页设计图片怎么换
  • 深圳网站关键词优化推广做mod游戏下载网站
  • 通达oa 做网站wordpress动转换标签别名
  • 三亚学做网站培训招聘网站排名
  • 企业网站建设费用需要多少钱怎样下载建设银行信用卡网站
  • 厦门建网站公司怎么做服装外贸网站
  • 做淘宝客网站用什么程序好仿站下载工具
  • 网站地图开发国家住房和城乡建设部中国建造师网站
  • 巫山网站建设泉州市培训建设系统中心网站
  • 网站开发国内外研究背景室内设计师收入高吗
  • 深圳网站维护一般多少钱沈阳做网站黑酷科技
  • 汽车营销服务网站建设怎样申请微信公众号个人
  • 阿里云 做网站北京工程建设交易中心网站
  • 网站备案安全承诺书竞价外包推广专业公司
  • 如何做公司网站广西住建厅八大员报名网站
  • 以下不是网站开发语言的哪项工信部域名备案管理系统
  • 优化网站搭建创业项目网站建设规划
  • 温岭网站开发网站建设程序文件
  • 有什么网站可以做深圳初二的试卷练习商城网站功能
  • 网站托管就业新闻今天的最新新闻
  • 重庆网站建设方案书国外做电商平台的网站有什么
  • 微信扫一扫登录网站如何做网络平台怎么弄
  • 怎么做网页模板展示网站株洲网红餐厅
  • 优秀学校网站设计正规抖音代运营公司排名
  • 网站的网站建设公司太原中小企业网站制作