8 Docker Remote API
2016-12-03 14:32
513 查看
Docker Remote API 是将会用来取代 Docker 命令的工具。本文将会用
示例系统是 Ubuntu,配置文件在
需要把此文件的
修改完毕后,重启 Docker。
Docker 常用端口为 4243,本文遵照原文,改为 5555,生产环境一定要注意该端口不要被未授权 IP 访问。
用于获取容器底层信息。
获取容器内运行进程的列表。
获取容器内
相当于
2 用于操作镜像的 Docker Remote API:
镜像可以从两个方式获取:
从 registry 中 pull 一个。
导入一个。
用法:
Flux7 这里就有一个 BUG。
shell操作中带有
图片中的命令需要改正为:
如图,将
这个需要解释一下:POST 传入的 Dockerfile 文件必须是
使用 POST 传入文件的用法:
再例如使用 remote 传入 Dockerfile 的
curl操作 Docker Remote API。
准备:
示例系统是 Ubuntu,配置文件在 /etc/default/docker。
需要把此文件的
DOCKER_OPTS改为
DOCKER_OPTS="-H 127.0.0.1:5555 -H unix:///var/run/docker.sock"。
修改完毕后,重启 Docker。
Docker 常用端口为 4243,本文遵照原文,改为 5555,生产环境一定要注意该端口不要被未授权 IP 访问。
1 操作容器的api:
列出所有容器
GET /containers/json
创建新容器
POST /containers/create
检查容器
GET /containers/(id)/json
用于获取容器底层信息。
进程列表
GET /containers/(id)/top
获取容器内运行进程的列表。
容器日志
GET /containers/(id)/logs
获取容器内
stdout和
stderr的输出。
导出容器
GET /containers/(id)/export
相当于
docker export,可以直接
curl到一个镜像文件。
启动容器
POST /containers/(id)/start
停止容器
POST /containers/(id)/stop
重启容器
Restart a Container
KILL容器
POST /containers/(id)/kill
2 用于操作镜像的 Docker Remote API:
创建一个镜像
镜像可以从两个方式获取:从 registry 中 pull 一个。
导入一个。
用法:
POST /images/create
POST /images/create?fromImage=base获取名叫
base的镜像。
POST /images/create?fromSrc=url从
url导入镜像。
Flux7 这里就有一个 BUG。
shell操作中带有
&的情况下,是需要非常小心的。
图片中的命令需要改正为:
curl -v -X POST "http://localhost:5555/images/create?fromImage=base&tag=latest"
从容器创建镜像
POST /commit
列出镜像
GET /images/json
插入文件
POST /images/(name)/insert POST /images/test/insert?path=/usr&url=myurl
如图,将
url提供的文件插入到
name对应的镜像的
path目录中。
删除镜像
DELETE /images/(name)
推送镜像到 registry
POST /images/(name)/push
为镜像做标签
POST /images/(name)/tag
搜索镜像
GET /images/search
查看镜像历史
GET /images/(name)/history
构建镜像
POST /build
这个需要解释一下:POST 传入的 Dockerfile 文件必须是
tar.gz格式。或者不传入 Dockerfile,而是用
remote参数指定一个,这种情况下不要求格式。
使用 POST 传入文件的用法:
再例如使用 remote 传入 Dockerfile 的
url用法:
命令 # curl localhost/Dockerfile #用于展示存储Dockerfile的URI FROM ubuntu RUN mkdir /myvol RUN echo "hello world" > /myvol/greating VOLUME /myvol 命令 # curl -X POST "127.0.0.1:4243/build?t=asd&remote=http%3A%2F%2Flocalhost%2FDockerfile" 命令 # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE asd latest 1946f0511bda 36 seconds ago 188.3 MB
相关文章推荐
- centos7 搭建 docker 环境
- 7 Docker Registry API、Docker Hub API 和 OAuth API
- docker之web server(python)
- 4 docker 注册中心
- 3 使用 Dockerfile 实现 自动化构建(创建) 镜像
- 2 docker 实践中常用的Docker 命令
- 1 Docker 的概念、安装和如何开始使用
- docker 入门 安装
- Canonical 和 Docker 公司合作在 Ubuntu 上以 Snap 格式发布 Docker 引擎
- Canonical 和 Docker 公司合作在 Ubuntu 上以 Snap 格式发布 Docker 引擎
- docker info 提示WARNING: No memory limit support
- Linux通过 Docker 可以托管 .NET Core啦!
- ubuntu环境下docker安装步骤
- Docker背后:使用Linux Namespaces隔离系统的原理
- docker之hello world
- docker我的常用命令
- 从CI到CD,使用Docker技术实现每日十次发布,来自麻袋理财首席架构师王天青的分享
- marathon 内部docker调用用vip还是name
- Docker理论与实践(四)
- Ubuntu14.04安装docker