Docker 0x08: Docker 命令

Docker 命令

docker命令容易混淆几个

run 与 start 区别

run: 会创建一个新的容器,根据指定的镜像。 针对新增容器
start: 是启动停止的容器。针对已存在的容器

docker 进程相关命令

docker top container_id 因为容器本身就是一个操作系统上的进程,所以通过docker top 可以查看容器在操作系统层面的进程信息。而容器中运行的应用是在容器层面的进程,这个进程是通过进程空间方式隔离出来,我们docker exec container_id ps -ef 通过docker exec 可以进入对应容器的进程namespace,然后可以看到该容器进程空间中运行的应用的进程。
特别注意:docker exec可以进入到容器的进程namespace,可以通过docker exec 进入容器内部执行命令。而执行的命令是在容器的进程空间执执行的,所以属于容器的进程空间,当时命令进程的父进程是Docker Daemon而非容器的PID 1 进程,是PID 0 。docker中的一个进程在操作系统程面也能看到。

Restful API

启动Restful API 服务

vim /usr/lib/systemd/system/docker.service

在 ExecStart=/usr/bin/dockerd 后面直接添加 -H tcp://0.0.0.0:8088 -H unix:///var/run/docker.sock (注意端口8088自己随便定义,别跟当前的冲突即可)

systemctl daemon-reload
systemctl restart docker

重启完成后,我们执行 curl 127.0.0.1:8088/info | python -mjson.tool 命令即可查看docker的状态状态(json形式,python -mjson.tool借用了这个工具,这样让json格式化,好阅读)

具体API查看API文档:https://docs.docker.com/develop/sdk/

官方提供了SDK供代码访问使用。

原文地址:https://www.cnblogs.com/ZJiQi/p/11161875.html