Docker常用命令

  |  

Docker常用命令

帮助命令

  1. 查看Docker 版本信息

    1
    docker version
  2. 查看Docker 系统信息,包括镜像和容器数

    1
    docker info
  3. 查看Docker 常用命令

    1
    docker --help

镜像命令

  1. 列出镜像
    1
    docker images [OPTIONS]

参数说明:

REPOSITORY 表示镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像ID
SIZE 镜像大小

[OPTIONS]说明:

-a 列出本地所有的镜像(含中间映像层)
-q 只显示镜像ID
--digests 显示镜像的摘要信息
--no-trunc 显示完整的镜像信息
  1. 查询镜像
    1
    docker search [OPTION] imagename

[OPTION]说明:

--no-trunc 显示完整的镜像描述
-s 列出收藏数不少于指定数的镜像
--automated 只列出automated bulid类型的镜像
  1. 下载镜像
1
docker  pull imagename [:TAG]
  1. 删除镜像
1
docker rmi imageID

删除单个

1
docker rmi -f imageID

删除多个

1
docker rmi -f imagename1:TAG1 imagename2:TAG2

删除全部

1
docker rmi -f$(docker images -qa)

容器命令

有镜像才能创建容器!

  1. 新建并启动容器
    1
    docker run [OPTION] IMAGE [COMMAND] ARG...

[OPTION]说明:

--name="" 为容器制定一个新名称
-d 后台运行容器,并返回容器ID,即启动守护式容器
-i 以交互模式运行容器,通常与-t同时使用
-t 为容器重新分配一个伪输入终端。通常与-i同时使用
-P 随机端口映射
-p 指定端口映射

-p有以下四种格式:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort

  1. 列出当前正在运行的容器
    1
    docker ps [OPTION]

[OPTION]说明:

-a 列出当前正在运行的容器+历史上运行过的
-l 显示最近创建的容器
-n 显示n个最近创建的容器
-q 静默模式,只显示容器编号
--no-trunc 不截断退出
  1. 退出容器:

    1
    2
    exit             #容器停止退出
    Ctrl+P+Q #容器不停止退出
  2. 启动容器

    1
    docker start continerID/continerName
  3. 重启容器

    1
    docker restart continerID/continerName
  4. 停止容器

    1
    docker stop continerID/continerName
  5. 强制停止容器

    1
    docker kill continerID/continerName
  6. 删除已停止的容器

    1
    2
    3
    docker rm continerID
    docker rm -f$(docker ps -a -q) #一次性删除多个容器
    docker ps -a -q | xargs docker rm #一次性删除多个容器

容器命令-重要

  1. 启动守护式容器:
    1
    docker run -d containerName

使用镜像centos:latsext以后台模式启动一个容器docker run -d centos
问题:使用docker ps -a进行查看,会发现容器已经退出
很重要的说明一点:Docker容器后台运行,就必须有一个前台进程
容器运行的命令如果不是那些一直挂起的命令(比如运行top、tail),就会自动退出
这个是Docker的机制问题,比如说以你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需启动相应的service即可。例如service nginx start,但是这样做,nginx为后台进程模式运行,就导致docker前台没有运行的应用,这样的容器后台启动后,会立即自杀以为他觉得她没事可做了。
所以,最佳的解决方案是:将你要运行的程序以前台进程的形式运行。

  1. 查看容器日志

    1
    2
    3
    4
    docker logs -d -t --tail containerID
    -t 加入时间戳
    -f 跟随最新的日志打印
    --tail 数字显示最后多少条
  2. 查看容器内运行的进程

    1
    docker top containerID
  3. 查看容器内部细节

    1
    docker inspect containerID
  4. 进入正在运行的容器并以命令行交互

    1
    2
    docker exec it containerID bashShell
    docker attach containerID #重新进入

区别
attach 直接进入容器命令的终端,不启动新的进程
exec 在容器中打开新的终端,并可以启动新的进程

  1. 从容器内拷贝文件到主机上
    1
    docker cp containerID:容器内路径 目的主机地址

 评论


Copyright 2018-2020 YinuxY   |   正在载入...   |   站点地图  |  

UV
PV