最近在学习docker,正在看浙江大学SEL实验室《Docker容器与容器云》这本书,想通过博客的方式,把学习的东西记录下来。
Docker 操作参数解读
用户使用Docker时,需要使用Docker命令行工具docker与Dcoekr daemon建立通信。Docker daemon是Docker守护进程,负责接收并分发执行Docker命令。
值得一提的是,docker命令的执行一般需要获取root权限,因为Docker的命令行工具docker与Docker daemon是同一个二进制文件,而docker daemon负责接受并执行来自docker的命令,它的运行需要root权限。同时,从Docker 0.5.2版本开始,Docker daemon默认绑定一个Unix Socker 来代替原来的TCP端口,该Unix Socket默认是属于root用户的。
子命令分类 | 子命令 |
Docker环境信息 | info 、version |
容器生命周期 | create、exec、kill、pause、restart、rm、run、start、stop、unpause |
镜像仓库命令 | login、logout、pull、push、search |
镜像管理 | build、images、import、load、rmi、save、tag、commit |
容器运维操作 | attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff、update |
容器资源管理 | volume、network |
系统日志信息 | events、history、logs |
1、Docker环境信息
$sudo docker info
$sudo docker version
2、容器生命周期管理
容器生命周期管理涉及容器启动、停止等功能,下面选取最常用的docker run命令和负责启动停止的docker start/stop/restart命令举例。
- docker run命令
docker run 命令用来基于特定的镜像创建一个容器,并依据选项来控制该容器。
eg:$sudo docker run ubuntu echo "Hello World"
这是docker run 命令最基本的使用方法,该命令从ubuntu镜像启动一个容器,并执行echo命令打印出“HelloWorld”。执行完echo命令后,容器将停止运行。docker run命令启动的容器会随机分配一个容器ID,用以标识该容器。 - docker statrt/stop/restart命令
docker run命令可以创建一个新的容器进行运行,而对于已经存在的容器,可以通过docker start/stop/restart命令来启动、停止和重启。
3、Docker registry - Docker pull
可以从官方的Docker Hub中的官方镜像库、其它公共库、私人库中拉取镜像资源,同时还可以从私有服务器中获取镜像资源。 - Docker push
与docker pull 命令相对应的docker push命令,可以将本地的image或repository推送到Docker Hub的公共或私有镜像库,以及私有服务器。
4、镜像管理 - docker images命令
可以列出主机上的镜像,默认只列出组顶层的镜像,可以使用-a显示所有的镜像。 - docker rmi 和 docker rm命令
前者是删除镜像,后者是删除容器
5、容器运维操作 - docker attach命令
对开发者十分有用,可以连接到正在运行的容器,观察该容器的运行情况,或与容器的主进程进行交互。 - docker ps
查看容器的相关信息。
6、其它子命令 - docker commit
commit命令可以将一个容器固话为一个新的镜像。当需要定制特定的镜像时,会进行修改容器的配置,如在容器中安装特定工具等,通过commit命令保存修改,不会因为容器的停止而丢失。但是这种方法仅适用于正在运行的容器。 - events、history和logs命令
查看系统日志