Docker 学习 (2): 常用命令

Docker 学习 (2): 常用命令

命令行操作前提:

systemctl start docker 启动docker

sudo -i 进去root模式

一、帮助命令

  1. docker version 查看对应安装的版本号,可以用来检测docker是否安装c成功

  2. docker info Docker容器安装之后,个人信息的描述,比version更加详细

  1. docker --help docker的帮助命令

二、镜像命令

前提:在操作镜像的时候,如果镜像名称的后面没有加版本号,那默认就是操作的最高的版本(tomcat:latest)

所以在操作镜像的时候最好都要加上对应的版本号。。。

  1. docker images 参数 列出本地主机上的镜像

    -a 列出本地所有的镜像(含中间映像层)
    -q 只显示镜像ID
    --digests 显示镜像的摘要信息
    --no-trunc 显示完整的镜像信息

    • 各个选项说明:

REPOSITORY 表示镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像ID
CREATED 镜像创建时间
SIZE 镜像大小
  1. docker search [OPTIONS] 镜像名字 查看某一个镜像

    官网网址 : https://hub.docker.com 上述命令与网站显示的内容相同

    --no-trunc 显示完整的镜像描述
    -s 列出收藏数不小于指定值的镜像
    --automated 只列出 automated build类型的镜像

  2. docker pull 镜像名称 下载镜像

  1. docker rmi 镜像名称 删除镜像

    加 -f 是强制删除,如果镜像在运行,就不可以删除。可以加 -f 强制删除

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

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

    相当于是聚合命令,先执行$()里边的语句,查询到全部之后,删除全部

三、容器命令

  1. 启动容器 docker run [OPTIONS] 镜像名称 参数

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

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

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

 

  1. 启动交互式容器

    • #使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。(/bin/bash为默认的,可以不写)

  2. 启动守护式容器

    docker run -d centos

    问题:然后docker ps -a 进行查看, 会发现容器已经退出 很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程. 容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。

    这个是docker的机制问题,比如你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可。例如 service nginx start 但是,这样做,nginx为后台进程模式运行,就导致docker前台没有运行的应用, 这样的容器后台启动后,会立即自杀因为他觉得他没事可做了. 所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行

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

    • OPTIONS说明(常用):

      -a :列出当前所有正在运行的容器+历史上运行过的 -l :显示最近创建的容器。 -n:显示最近n个创建的容器。 -q :静默模式,只显示容器编号。 --no-trunc :不截断输出。OPTIONS说明(常用):

  4. 退出容器

    • exit 容器停止退出

    • ctrl+P+Q 容器不停止退出

  5. 启动容器 docker start 容器ID或者容器名

  6. 重启容器 docker restart 容器ID或者容器名

  7. 停止容器 docker stop 容器ID或者容器名

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

  9. 删除容器 docker rm 容器ID

    1. docker rm -f $(docker ps -a -q) 删除多个

    2. docker ps -a -q | xargs docker rm 删除多个

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

    • -t 是加入时间戳

    • -f 跟随最新的日志打印

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

    启动守护式容器,以2秒运行一次引号以内的语句(ctrl + c 查看日志退出,容器停止运行)

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

  1. 查看容器内部细节 docker inspect 容器ID

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

    1. docker exec -it 容器ID /bin/bash

    2. docker attach 容器ID 重新进入

    俩个的区别:

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

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

  3. 从容器内拷贝文件到主机上 docker cp 容器ID:容器内路径 目的主机路径

本人目前也是处于学习阶段,如果有任何问题都可以给我评论留言 视频资源联系QQ:1731765178(掘金杨)

猜你喜欢

转载自www.cnblogs.com/nuggetY/p/9970894.html