Dokcer里面有很多命令,全部的可以参考官方Reference文档

但是我们只需要掌握一些常用的命令即可:

预备:后台命令

针对CentOS7系统,我们对docker后台进程的常用操作命令如下:

 #启动docker服务 systemctl start docker #停止docker服务 systemctl stop docker #重启docker服务 systemctl restart docker #查看docker服务状态 systemctl status docker #设置开机启动docker服务 systemctl enable docker 

一、帮助命令

 #显示docker的版本信息 docker version #显示docker的系统信息,包括镜像和容器的数量 docker info #帮助命令 docker 命令 --help 

二、镜像命令

1)查询镜像

 #查看所有本地的主机上的镜像 docker images 

  • REPOSITORY:镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像的id
  • CREATED:镜像的创建时间
  • SIZE:镜像的大小
 -a, --all Show all images (default hides intermediate images)(显示所有镜像) --digests Show digests(不常用) -f, --filter filter Filter output based on conditions provided(不常用) --format string Pretty-print images using a Go template(不常用) --no-trunc Don't truncate output(不常用) -q, --quiet Only show image IDs(只显示镜像ID) 

比较常用的就是

 docker images -aq 

2)搜索镜像
官网仓库搜索镜像地址为 镜像仓库,我们也可以使用如下指令搜索:

 docker search 

 -f, --filter filter Filter output based on conditions provided(过滤) --format string Pretty-print search using a Go template(不常用) --limit int Max number of search results (default 25)(不常用) --no-trunc Don't truncate output(不常用) 

3)下载镜像

 docker pull 

比如:

 #直接下载最新的mysql docker pull mysql #下载mysql5.7 docker pull mysql:5.7 

4)删除镜像

 #删除指定的镜像,可以根据id或名称 docker rmi -f 镜像id #删除多个容器 docker rmi -f 镜像id 镜像id 镜像id 镜像id #删除全部的镜像 docker rmi -f $(docker images -aq) 

三、容器命令

说明:我们有了镜像才可以创建容器,我们下载一个最新版centos镜像来测试学习

 docker pull centos 

1)新建容器并启动

 #命令格式 docker run [可选参数] image #参数说明 # 给容器命名,比如tomcat01 tomcat02,用来区分容器 --name="Name" #后台方式运行 -d #使用交互方式运行,进入容器查看内容 -it #指定容器的端口 -p -p ip:主机端口:容器端口 -p 主机端口:容器端口 (常用) -p 容器端口 直接容器端口 #随机指定端口 -P 

测试,启动并进入容器,执行如下指令:

 docker run -it centos /bin/bash 

ls查看容器内的centos。
2)从容器中退回主机

 #直接容器停止并退出 exit #退出容器但不停止容器 Ctrl + P +Q 

3)列出所有运行的容器

 #列出当前正在运行的容器 docker ps #可选参数 #列出当前正在运行的容器+带出历史运行过的容器 -a #显示最近创建的容器 -n=数值 #只显示容器的编号 -q 

4)删除容器

 #删除指定的容器,不能删除正在运行的容器,如果要强制删除rm -f docker rm 容器id #删除所有的容器 docker rm -f $(docker ps -aq) #或 删除所有的容器 docker ps -a -q | xargs docker rm 

5)启动和停止容器的操作

 #启动容器 docker start 容器id #重启容器 docker restart 容器id #停止当前正在运行的容器 docker stop 容器id #强制停止当前容器 docker kill 容器id 

四、其他常用命令

1)后台启动容器

 #命令 docker run -d 镜像名 

我们后台启动后,执行docker ps, 发现centos停止了,

docker 容器使用后台运行,就必须要有要一个前台进程,如果没有前台进程,docker会发现没有应用,就会自动停止。
2)查看日志

 #命令 docker logs [可选参数] 容器id #可选参数 #显示全部日志 -tf #显示最后几条日志 --tail 数量 

比如,我们查看某个容器的最后10条日志记录:

 docker logs -tf --tail 10 fce6b89171bc 

3)查看容器中进程信息

 docker top 容器id 

4)查看镜像的元数据

 docker inspect 容器id 

5)进入当前正在运行的容器
我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

 #方式1:进入容器后开启一个新的终端,可以在里面操作(常用) docker exec -it 容器id bashShell #方式2:进入容器正在执行的终端,不会启动新的进程!| docker attach 容器id 

6)从容器内拷贝文件到主机上

 docker cp 容器id:容器内路径 目的的主机路径 

五、Docker命令小结

 #docker容器相关操作的命令 docker create #创建一个容器但是不启动它 docker run #创建一个容器并启动它 docker stop #停止一个容器 docker start #启动一个停止状态的容器 docker restart #重启一个容器 docker rm #删除一个容器 docker kill #发送信号给容器 docker attach #连接(进入)到一个正在运行的容器 docker wait #阻塞一个容器,直到容器停止运行 #获取容器相关信息 docker ps #显示状态运行位(up)的容器 docker ps -a #显示所有的容器,包括运行(Up)和退出的(exited) docker inspect #深入容器内部获取容器所有信息 docker logs #查看容器的日志(stdout/stderr) docker port#显示容器的端口映射 docker top #显示容器的进程信息 docker diff #显示容器文件系统的前后的变化 #在容器内部执行命令 docker exec -it newdb /bin/bash #在newdb容器内部执行shell命令 #导出容器 docker cp #从容器里面向外拷贝文件 docker export #将容器整个文件系统导出为一个tar包,不带layers,tag等信息 #镜像操作 docker p_w_picpaths #显示内地所有的镜像列表 docker import #从一个tar包创建一个镜像,往往和export结合使用 docker build #使用Dockfile 创建镜像(推荐) docker commit #从容器创建镜像 docker rmi #删除一个镜像 docker load #从一个tar包创建一个镜像,和save配合使用 docker save #将一个镜像保存为一个tar包,带layers和tag信息 docker history #显示生成一个镜像的历史命令 docker tag #为镜像起一个别名 #镜像仓库操作 docker login #登陆到一个registry docker search #从registry仓库搜索镜像 docker pull #从仓库下载镜像到本地 docker push #将一个镜像push到registry仓库中 

更全的Docker指令及其可选参数说明,可参考菜鸟教程Docker指令大全