1、在daemon容器中如何和容器进行交互,因为貌似在daemon类型的容器中直接使用docker attache命令会直接死在那里,而不会出现容器的shell命令行,所以需要采用以下的方式:
第一步:先查询容器,使用命令:docker ps,得到以下结果:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a40c6e58afbd mysql:5.7 "/entrypoint.sh mysq 15 hours ago Up 15 hours 0.0.0.0:3306->3306/tcp db001
512013f5bd3a csphere/csphere:0.11.2 "/bin/csphere-init - 10 days ago Up 9 hours csphere-agent
631a4f91b2fb csphere/csphere:0.11.2 "/bin/csphere-init - 10 days ago Up 10 days 8086/tcp, 27017/tcp, 0.0.0.0:1016->80/tcp csphere-controller
第二步:比如我们这里要和id为a40c6e58afbd这个容器交互,则使用命令:docker exec -t -i a40c6e58afbd /bin/bash,则会得到以下结果:
root@a40c6e58afbd:/#
这个就是容器的命令行,我们可以在这里敲入命令,就和普通的linux命令一样。
2、如何查看容器的信息,容器是从image而来的,里边有很多配置信息,如果我们想看这些信息,则可以使用以下命令,
第一步:先查询容器,使用命令: docker ps,得到以下结果:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a40c6e58afbd mysql:5.7 "/entrypoint.sh mysq 15 hours ago Up 15 hours 0.0.0.0:3306->3306/tcp db001
512013f5bd3a csphere/csphere:0.11.2 "/bin/csphere-init - 10 days ago Up 9 hours csphere-agent
631a4f91b2fb csphere/csphere:0.11.2 "/bin/csphere-init - 10 days ago Up 10 days 8086/tcp, 27017/tcp, 0.0.0.0:1016->80/tcp csphere-controller
第二步:使用命令:docker inspect a40c6e58afbd 最后的遗传参数是容器的id。
返回的结果内容太多这里就不写了,其实这些信息时存储在linux宿主主机的/var/lib/docker/containers目录下的,这个目录下有很多那种名字特别长的文件夹,再进入这些文件夹就可以看见好几个文件,例如进入某个容器文件夹后使用命令:ls -l,就可以看到以下的信息:
rw------- 1 root root 76749 Jul 24 08:44 a40c6e58afbda0199111a2a2ef0af7e8dd9be057a610ca5f4f30aa782a5d9155-json.log
-rw-r--r-- 1 root root 2263 Jul 23 17:10 config.json
-rw-r--r-- 1 root root 543 Jul 23 17:10 hostconfig.json
-rw-r--r-- 1 root root 13 Jul 23 17:10 hostname
-rw-r--r-- 1 root root 176 Jul 23 17:10 hosts
-rw-r--r-- 1 root root 237 Jul 23 17:10 resolv.conf
-rw-r--r-- 1 root root 71 Jul 23 17:10 resolv.conf.hash
Ubuntu 15.04下安装Docker
Docker安装应用(CentOS 6.5_x64)