Docker常用命令

前面有说到docker的三大核心概念是:镜像、容器和仓库,对于docker的常用命令我们也从这三大核心着手说明

一、Docker镜像相关

当运行容器时,是以镜像为模版创建,若使用的镜像不在本地保存,docker就会自动从镜像仓库中下载,默认是从Docker Hub公共镜像源下载。

  • 1、搜索镜像
    我们可以在Docker Hub网站上来所有所需镜像,也可以直接使用命令来搜索
    docker search http

    • NAME: 镜像仓库源的名称
    • DESCRIPTION: 镜像的描述
    • STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思
    • OFFICIAL: 是否 docker 官方发布
    • AUTOMATED: 自动构建。
  • 2、下载镜像
    docker pull image_name,如下载http镜像,image_name通过search可以确认,docker pull httpd

  • 3、查看本地镜像
    docker images

  • 4、删除本地镜像
    docker rmi image_name,如:docker rmi httpd

  • 5、导出/导入镜像以及从归档文件中创建镜像

    • 导出:docker save [OPTIONS] IMAGE [IMAGE...],如:docker save -o image.tar.gz image_name
    • 导入:docker load [OPTIONS],如:docker load -i image.tar.gz
    • 从归档文件中创建镜像:docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]],如:docker import image.tar.gz new_image_name
  • 6、创建镜像
    当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

    • (1) 从已经创建的容器中更新镜像,并且提交这个镜像
      假设对已存在的容器做好了定制化的更新之后,使用commit命令进行提交
      基本语法:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
      如:docker commit -m "shuoming" -a "auth" 31d22a1554df postgresql-test

      [NOTE]
      -m:提交的描述信息;
      -a:指定镜像作者
      31d22a1554df:容器ID
      postgresql-test:指定要创建的目标镜像名

    • (2) 使用 Dockerfile 指令来创建一个新的镜像
      基本语法:docker build -f Dockfile -t image_name,其中-f是指定Dockfile文件路径,不添加的话是默认使用当前目录下的Dockfile,-t后指定镜像的名字以及标签,对于Dockfile文件后续会再做说明。

  • 7、设置镜像标签
    docker tag 镜像ID 用户名/repository-name:标签名,如:docker tag 860c279d2fec test/centos:dev

二、Docker容器相关

直接输入docker可以查看到Docker客户端的所有命令选项

可以通过docker command --help命令更深入的查看指定的command的使用方法,如:docker stats --help

  • 1、启动容器
    docker run [OPTIONS] IMAGE [COMMAND] [ARG...],如:docker run -it httpd /bin/bash

    [NOTE]
    -i: 交互式操作。
    -t: 终端。
    httpd: ubuntu 镜像。
    /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash,要退出的话直接输入exit

  • 2、查看所有容器
    docker ps -a

  • 3、启动已经停止运行的容器
    docker start 容器名或容器ID

  • 4、后台运行容器
    docker run -itd httpd /bin/bash,其中-d代表后台运行

  • 5、查看所有运行的容器
    docker ps

  • 6、停止一个容器
    docker stop 容器名或容器ID

  • 7、登录一个容器

    • docker attach,如docker attach 6b5ee0283251,但是退出之后会导致容器停止,只是为了进入容器进行操作的话,不建议使用这个命令
    • docker exec ,建议使用,长配合-it/bin/bash一起使用,如:docker exec -it 6b5ee0283251 /bin/bash
  • 8、删除容器
    docker rm 容器名或容器ID

  • 9、其他

    • docker top 容器名或容器ID,实现查看container中正在运行的进程
    • docker logs -f 容器名或容器ID,跟踪查看container的日志输出。--since显示某个开始时间的所有日志,--tail仅列出最新的N条容器日志
    • docker port 容器名或容器ID,列出指定的容器的端口映射
    • docker stats,查看容器硬件状态,可以加上--no-stream参数避免显示结果实时刷新

三、Docker仓库相关

  • 1、登录
    docker login [OPTIONS] [SERVER],如登录到Docker Hub,docker login -u 用户名 -p 密码

  • 2、登出
    docker logout [OPTIONS] [SERVER],如登出Docker Hub,docker logout

  • 3、从仓库中下载镜像
    docker pull [OPTIONS] NAME[:TAG|@DIGEST],如docker pull java

  • 4、上传镜像至仓库
    docker push [OPTIONS] NAME[:TAG],如docker push myweb:t0

posted @ 2020-10-27 12:04  灬夜露沁心灬  阅读(80)  评论(0编辑  收藏  举报