Docker提供很丰富,很多的命令,大概分为以下几类,并且列举了一些很常用的命令的说明与用法
#docker info
查看docker是否正确安装以及一些基本信息。
#docker version
是docker的核心命令之一,用来基于特定镜像创建一个容器,并依据选项控制容器。
常用参数:
上面二者通常一起用 -it
对-v参数的说明:由于容器轻量化的设计,里面缺乏文本编辑工具,当我们需要在容器中创建,编辑文件的时候,使用-v挂载,实现主机容器间共享数据,可以省去在容器中安装文本编辑工具的麻烦。
示例1:
#docker run ubuntu echo “Hello Word!”
这是run最基本的用法,没带选项参数。这条命令从ubuntu镜像启动一个容器,并执行echo打印Hello Word。执行完打印,容器也就停止运行。启动容器的同时会同时给容器分配一个容器id号,CONTAINER ID,来标识容器
示例2:
#docker run -it --name mytest ubuntu:lastest /bin/bash
根据 ubuntu镜像,启动了mytest(自己命名的)的容器,并且开启一个/bin/bash终端。
lastest含义:镜像名后+tag来区分同名的镜像,默认就是选取lastest(最新)的镜像。
上面我们通过run可以启动容器,对于已经存在的容器,我们可以通过 docker start/stop/restart +容器ID号 来启动,停止和重启
docker start 使用 -i 选项开启交互模式
Docker官方仓库:Docker Hub。我们可以从这个仓库中“拉取”镜像自己使用。
1.docker pull命令:
从官方镜像库;其他公共库,私人库,私有服务器中 获取镜像资源。
示例:
默认拉取lastest的
#docker pull ubuntu
拉取指定tag的ubuntu镜像
#docker pull ubuntu:ubuntu12.04
拉取特定仓库(SEL)的镜像
#docker pull SEL/ubuntu
拉取指定服务器的镜像
#docker pull 10.10.103.215:5000/sshd
2.docker push命令
将本地镜像推送到仓库中,与上面pull命令对应
如:#docker push SEL/ubuntu
1.docker images:
列出当前主机的镜像(默认只列出顶层镜像)
-a列出所有
2.docker rmi/rm
docker rmi 用来删除镜像
docker rm 用来删除容器
注意:当删除镜像的时候,如果有基于该镜像的容器存在,则无法直接删除镜像,需要先删除对应容器。
或者使用 -f 选项,强制删除(rmi/rm都有-f选项)
1.docker attach:
可以连接到正在运行的容器,观察其运行状况,或与容器的主进程进行交互。
与上面的docker -it … /bin/bash 效果类似,attach是对已经存在的,正在运行的容器的操作。
命令使用格式:docker attach [OPTIONS] CONTAINER
2.docker inspect:
查看镜像和容器的详细信息,默认列出全部信息,可以使用 --format参数指定输出格式。
命令使用格式:docker inspect [OPTIONS] CONTAINER|IMAGE
3.docker ps:
查看容器的相关信息,默认只显示正在运行的容器的信息。
我们通常使用这个命令查看容器的 容器ID 以便对相应容器的后续操作。
常用参数:
1.docker commit:
可以将你的容器固化为新的镜像。(保存你在容器中的修改)
提交保存时,只能选用正在运行的容器(docker ps能查到的)来制作新的镜像。
注意:我们创建镜像 使用 docker commit 只是一个临时性的辅助命令。最常用的还是通过docker build 与dockerfile结合 创建,管理镜像。
命令使用格式:docker commit [OPTIONS] CONTAINER [repository[:tag]]
2.events、history、logs命令
这几个命令可以查看docker的系统日志信息
# docker events [options]
# docker history [options] image
#docker logs [options] container
参考书籍:容器与容器云