首页 /  技术专区  /  Docker 宽屏模式 >

Docker常用命令

1. 帮助命令

docker version    ---查看版本信息

docker info    ---信息描述

docker --help    ---查看帮助命令

2. 镜像命令

docker images    ---列出本地主机上的镜像

OPTIONS说明:

    -a :列出本地所有的镜像(含中间映像层)

    -q :只显示镜像ID

    --digests :显示镜像的摘要信息

    --no-trunc :显示完整的镜像信息

image.png

各个选项说明:

    REPOSITORY: 表示镜像的仓库源

    TAG:镜像的标签

    IMAGE ID:镜像ID

    CREATED:镜像创建时间

    SIZE:镜像大小

    同一仓库源可以有多个TAG,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG来定义不同的镜像

    如果你不指定一个镜像的版本标签,例如你只使用ubuntu, docker 将默认使用ubuntu:latest镜像

docker search [OPTIONS]    ---在dockerhub上查询某个镜像的名字

OPTIONS说明:

    --no-trunc :显示完整的镜像信息

    -s :列出收藏数不小于指定值的镜像

    --automated:只列出automated build类型的镜像

docker pull [OPTIONS]    ---下载某个镜像

    默认添加:latest,表示最新版,例如:docker pull tomcat:latest

docker rmi [OPTIONS]    ---删除某个镜像

    docker rmi -f [镜像名称ID]    ---删除单个

    docker rmi -f [镜像名称ID1] [镜像名称ID2]    ---删除多个,中间用空格隔开

    docker rmi -f $(docker images -qa)    ---删除全部

3. 容器命令

docker run [OPTIONS] IMAGES  [COMMAND] [ARG...]    ---新建并启动容器

    OPTIONS说明(常用) :有些是一个减号,有些是两个减号

    --name="容器新名字":为容器指定一个名称;

    -d: 后台运行容器,并返回容器ID,也即启动守护式容器;

           #使用镜像centos:latest以后台模式启动一个容器

          docker run -d centos

            问题:然后docker ps-a进行查看,会发现容器已经退出

            很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程

            容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。

            这个是docker的机制问题,比如你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可。例如

            service nginx start

            但是,这样做,ginx为后台进程模式运行,就导致docker前台没有运行的应用,这样的容器后台启动后,会立即自杀因为他觉得他没事可做了。

            所以,最佳的解决方案是将你要运行的程序以前台进程的形式运行

    -i: 以交互模式运行容器,通常与-t同时使用;

    -t: 为容器重新分配一个伪输入终端,通常与-i同时使用;

    -P:随机端口映射;

    -p:指定端口映射,有以下四种格式

            ip:hostPort:containerPort

            ip::containerPort

            hostPort:containerPort

            containerPort

docker ps [OPTIONS]    ---列出当前所有正在运行的容器

    OPTIONS说明(常用) :

    -a :列出当前所有正在运行的容器+历史上运行过

    -l:显示最近创建的容器

    -n:显示最近n个创建的容器。

    -q :静默模式,只显示容器编号。

    --no-trunc :不截断输出。

exit   ---容器停止退出

Ctrl+P+Q    ---容器不停止退出

docker start 容器名或者容器ID    ---启动容器

docker restart 容器名或者容器ID    ---重启容器

docker stop 容器名或者容器ID    ---停止容器

docker kill 容器名或者容器ID    ---强制停止容器

docker rm 容器ID    ---删除已停止的容器

    一次性删除多个容器:

    docker rm -f $(docker ps -a -q)

    docker ps -a-ql xargs docker rm

docker logs -f -t --tail 容器ID    ---查看容器日志

    -t 是加入时间戳

    -f 跟随最新的日志打印

    --tail 数字显示最后多少条

docker top 容器ID    ---查看容器内运行的进程

docker inspect 容器ID    ---查看容器内部细节(以JSON字符串形式展示)

docker exec -it 容器ID bashShell    ---进入正在运行的容器并以命令进行交互

docker attach 容器ID    ---重新进入容器

   上述两个区别

    attach直接进入容器启动命令的终端,不会启动新的进程

    exec是在容器中打开新的终端,并且可以启动新的进程

docker cp 容器ID:容器内路径 目标主机路径    ---从容器内拷贝内容到主机上





头像
0/200
图片验证码