天天看点

docker学习之二 常用命令总结

作者:闪大章

启动docker:

systemctl start docker           

停止docker:

systemctl stop docker           

重启docker:

systemctl restart docker           

查看docker状态:

systemctl status docker           

开机启动:

systemctl enable docker           

查看docker概要信息:

docker info           

查看docker总体帮助文档:

docker --help           

查看docker命令帮助文档:

docker 具体命令 --help           

镜像命令

docker images

-a :列出本地所有的镜像(含历史映像层)
-q :只显示镜像ID。           

docker search 某个XXX镜像名字

--limit : 只列出N个镜像,默认25个           

docker pull 某个XXX镜像名字

docker system df 查看镜像/容器/数据卷所占的空间

docker rmi 某个XXX镜像名字ID

删除多个
  docker rmi -f 镜像名1:TAG 镜像名2:TAG 
删除全部
  docker rmi -f $(docker images -qa)           

容器命令

新建+启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
--name="容器新名字"       为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);

-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互);

-P: 随机端口映射,大写P
-p: 指定端口映射,小写p

#使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

docker run -it centos /bin/bash 
 参数说明:-i: 交互式操作。-t: 终端。centos : centos 镜像。/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。要退出终端,直接输入            

docker ps [OPTIONS]

-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。           

退出容器

两种退出方式
    exit
      run进去容器,exit退出,容器停止
    ctrl+p+q
      run进去容器,ctrl+p+q退出,容器不停止           

重启容器

docker restart 容器ID或者容器名           

停止容器

docker stop 容器ID或者容器名           

强制停止容器

docker kill 容器ID或容器名           

删除已停止的容器

docker rm 容器ID
    一次性删除多个容器实例
      docker rm -f $(docker ps -a -q)
      docker ps -a -q | xargs docker rm           

查看容器日志

docker logs 容器ID           

启动守护式容器(后台服务器)

docker run -d 容器名
redis 前后台启动演示case
  前台交互式启动
     docker run -it redis:6.0.8
  后台守护式启动
    docker run -d redis:6.0.8           

查看容器内运行的进程

docker top 容器ID           

查看容器内部细节

docker inspect 容器ID           

进入正在运行的容器并以命令行交互

docker exec -it 容器ID bashShell
  重新进入docker attach 容器ID
  案例演示,用centos或者unbuntu都可以
  上述两个区别
    attach 直接进入容器启动命令的终端,不会启动新的进程
用exit退出,会导致容器的停止。
    exec 是在容器中打开新的终端,并且可以启动新的进程
用exit退出,不会导致容器的停止。
  推荐大家使用 docker exec 命令,因为退出容器终端,不会导致容器的停止。
  用之前的redis容器实例进入试试
    进入redis服务
      docker exec -it 容器ID /bin/bash
      docker exec -it 容器ID redis-cli           

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

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

导入和导出容器

export 导出容器的内容留作为一个tar归档文件[对应import命令]
import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
案例
  docker export 容器ID > 文件名.tar
  cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号