文章目录

  • docker version 查看版本信息
  • docker inspect 查看镜像全部信息
  • docker search 搜索镜像
  • docker pull 下载镜像
  • docker images 查看镜像
  • docker ps 列出所有运行中容器
  • docker tag 打标签
  • docker rmi 删除标签
  • docker history 查看指定镜像的创建历史
  • docker create
  • docker save 备份
  • docker load 还原
  • docker pause 暂停某一容器的所有进程。
  • docker start|stop|restart
  • docker run
  • docker rm 删容器
  • docker exec 进入容器
  • docker commit 创建一个复制镜像
  • 批量删除容器

docker version 查看版本信息

[root@localhost ~]# docker version
Client: Docker Engine - CommunityVersion:           19.03.13API version:       1.40Go version:        go1.13.15Git commit:        4484c46d9dBuilt:             Wed Sep 16 17:03:45 2020OS/Arch:           linux/amd64Experimental:      falseServer: Docker Engine - CommunityEngine:Version:          19.03.13API version:      1.40 (minimum version 1.12)Go version:       go1.13.15Git commit:       4484c46d9dBuilt:            Wed Sep 16 17:02:21 2020OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.3.7GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175runc:Version:          1.0.0-rc10GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dddocker-init:Version:          0.18.0GitCommit:        fec3683

docker inspect 查看镜像全部信息

 [root@localhost ~]# docker inspect 7e4d58f0e5f3 [root@localhost ~]# docker inspect nginx

docker search 搜索镜像

查看tomcat的镜像文件

[root@localhost ~]# docker search tomcat
NAME'名称'                          DESCRIPTION'镜像描述'                                     STARS'下载次数'               OFFICIAL'官方源'            AUTOMATED'自动'
tomcat                        Apache Tomcat is an open source implementati…   2831                [OK]
tomee                         Apache TomEE is an all-Apache Java EE certif…   83                  [OK]
NAME           # 镜像仓库
DESCRIPTION    # 镜像描述信息
STARS          # 镜像收藏数
OFFICIAL       # 是否为docker官方发布的镜像
AUTOMATED      # 是否为自动化构建的镜像,关于自动化构建,可以查看官方文档:https://docs.docker.com/docker-hub/builds/#how-automated-builds-work

docker pull 下载镜像

从镜像仓库内下载nginx

[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
d121f8d1c412: Pull complete
ebd81fc8c071: Pull complete
655316c160af: Pull complete
d15953c0e0f8: Pull complete
2ee525c5c3cc: Pull complete
Digest: sha256:c628b67d21744fce822d22fdcc0389f6bd763daac23a6b77147d0712ea7102d0
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

docker push
docker push name[:tag “o”>]
docker push laozhu/nginx:latest

将镜像推送至远程仓库,默认为 Docker Hub 。

docker images 查看镜像

-a 列出所有镜像(含过程镜像);
-f 过滤镜像,如: -f [‘dangling=true’] 只列出满足
dangling=true 条件的镜像;
–no-trunc 可显示完整的镜像ID;
-q 仅列出镜像ID。
–tree 以树状结构列出镜像的所有提交历史。

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7e4d58f0e5f3        8 days ago          133MBREPOSITORY     名称
TAG            标记 后期要进行镜像上传的时候要用到
IMAGE ID       镜像ID
CREATED        镜像创建日期
[root@localhost ~]# docker images -q
7e4d58f0e5f3
7e6257c9f8d8

docker ps 列出所有运行中容器

-a 列出所有容器(含沉睡镜像);

[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
c1b2ef7c2386        centos:7            "/bin/bash -c 'while…"   10 hours ago        Up 10 hours                                   trusting_grothendieck
e342d2c1784b        nginx:latest        "/docker-entrypoint.…"   10 hours ago        Up 10 hours               80/tcp              clever_jang
49dc91b17af6        nginx               "/docker-entrypoint.…"   15 hours ago        Exited (0) 15 hours ago                       nginx-test

–before=“nginx” 列出在某一容器之前创建的容器,接受容器名称和ID作为参数;

–since=“nginx” 列出在某一容器之后创建的容器,接受容器名称和ID作为参数;

-f [exited=] 列出满足
exited= 条件的容器;

-l 仅列出最新创建的一个容器;

[root@localhost ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
c1b2ef7c2386        centos:7            "/bin/bash -c 'while…"   10 hours ago        Up 10 hours                             trusting_grothendieck

–no-trunc 显示完整的容器ID;

[root@localhost ~]# docker ps --no-trunc
CONTAINER ID                                                       IMAGE               COMMAND                                          CREATED             STATUS              PORTS               NAMES
c1b2ef7c23869261a2ef15be13dcfef37108c3020107eda2260a2c81117cfc3d   centos:7            "/bin/bash -c 'while true;do echo hello;done'"   10 hours ago        Up 10 hours                             trusting_grothendieck
e342d2c1784b1ed13738344f4e82cdf8f77170a7fe30827cd55921b401385b36   nginx:latest        "/docker-entrypoint.sh /bin/bash"                10 hours ago        Up 10 hours         80/tcp              clever_jang

-n=4 列出最近创建的4个容器;

[root@localhost ~]# docker ps -n 2
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
c1b2ef7c2386        centos:7            "/bin/bash -c 'while…"   10 hours ago        Up 10 hours                             trusting_grothendieck
e342d2c1784b        nginx:latest        "/docker-entrypoint.…"   10 hours ago        Up 10 hours         80/tcp              clever_jang

-q 仅列出容器ID;

[root@localhost ~]# docker ps -q
c1b2ef7c2386
e342d2c1784b

-s 显示容器大小。

[root@localhost ~]# docker ps -s
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES                   SIZE
c1b2ef7c2386        centos:7            "/bin/bash -c 'while…"   10 hours ago        Up 10 hours                             trusting_grothendieck   0B (virtual 203MB)
e342d2c1784b        nginx:latest        "/docker-entrypoint.…"   10 hours ago        Up 10 hours         80/tcp              clever_jang             17B (virtual 133MB)

docker tag 打标签

-f 覆盖已有标记。

 相当于增加一个标签(硬链接)  不是修改,  后期上传到仓库  要进行更改成指定的标签格式
[root@localhost ~]# docker tag nginx:latest nginx:web
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7e4d58f0e5f3        8 days ago          133MB
nginx               web                 7e4d58f0e5f3        8 days ago

docker rmi 删除标签

从本地移除一个或多个指定的镜像。

-f 强行移除该镜像,即使其正被使用;

–no-prune 不移除该镜像的过程镜像,默认移除。

-l : 移除容器间的网络连接,而非容器本身

-v : 删除与容器关联的卷

删除标签的两种方式以及区别
docker rmi + id 当存在两个相同id的时候不能使用id号来删除
docker rmi + 镜像名称:标签 删除指定标签的镜像 可以是多个id相同的标签
如下所示

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7e4d58f0e5f3        8 days ago          133MB
nginx               web                 7e4d58f0e5f3        8 days ago          133MB
[root@localhost ~]# docker rmi 7e4d58f0e5f3
Error response from daemon: conflict: unable to delete 7e4d58f0e5f3 (cannot be forced) - image is being used by running container 49dc91b17af6
[root@localhost ~]# docker rmi nginx:web
Untagged: nginx:web
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7e4d58f0e5f3        8 days ago

此时报错的原因是我之前已经将容器的nginx服务跑起来了 此处想要删除必须加-f

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7e4d58f0e5f3        8 days ago          133MB[root@localhost ~]# docker rmi 7e4d58f0e5f3
Error response from daemon: conflict: unable to delete 7e4d58f0e5f3 (cannot be forced) - image is being used by running container 49dc91b17af6

docker history 查看指定镜像的创建历史

–no-trunc 显示完整的提交记录;

[root@localhost ~]# docker history 7e4d58f0e5f3
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
7e4d58f0e5f3        9 days ago          /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B
<missing>           9 days ago          /bin/sh -c #(nop)  STOPSIGNAL SIGTERM           0B
<missing>           9 days ago          /bin/sh -c #(nop)  EXPOSE 80                    0B
<missing>           9 days ago          /bin/sh -c #(nop)  ENTRYPOINT ["/docker-entr…   0B
<missing>           9 days ago          /bin/sh -c #(nop) COPY file:0fd5fca330dcd6a7…   1.04kB
<missing>           9 days ago          /bin/sh -c #(nop) COPY file:1d0a4127e78a26c1…   1.96kB
<missing>           9 days ago          /bin/sh -c #(nop) COPY file:e7e183879c35719c…   1.2kB
<missing>           9 days ago          /bin/sh -c set -x     && addgroup --system -…   63.4MB
<missing>           9 days ago          /bin/sh -c #(nop)  ENV PKG_RELEASE=1~buster     0B
<missing>           9 days ago          /bin/sh -c #(nop)  ENV NJS_VERSION=0.4.3        0B
<missing>           9 days ago          /bin/sh -c #(nop)  ENV NGINX_VERSION=1.19.2     0B
<missing>           9 days ago          /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B
<missing>           10 days ago         /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>           10 days ago         /bin/sh -c #(nop) ADD file:e7407f2294ad23634…   69.2MB

-q 仅列出提交记录ID。

[root@localhost ~]# docker history 7e4d58f0e5f3 -q
7e4d58f0e5f3
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>

docker create

//-i:让容器的标准输入保持打开
//-t:让docker分配一个伪终端
[root@localhost opt]# docker create -it nginx:latest
4e697390f6d1e4711e69e2bdfa3771331ba99e598b89badf7e6319c0e497d11b

docker save 备份

 [root@localhost opt]# docker save -o /opt/nginx01 nginx:latest
[root@localhost opt]# ls /opt
containerd  docker.sh  nginx01  rh

docker load 还原

[root@localhost opt]# docker load < /opt/nginx01
Loaded image: nginx:latest
[root@localhost opt]# docker load --input /opt/nginx01
Loaded image: nginx:latest

将指定镜像保存成 tar 归档文件, docker load 的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。

-o “debian.tar” 指定保存的镜像归档。

docker pause 暂停某一容器的所有进程。

docker unpause
docker unpause
恢复某一容器的所有进程。

docker start|stop|restart

docker start|stop “p”>|restart [options “o”>] “o”>[container…]

启动、停止和重启一个或多个指定容器。

[root@localhost opt]# docker start 4e697390f6d1

-a 待完成

-i 启动一个容器并进入交互模式;

-t 10 停止或者重启容器的超时时间(秒),超时后系统将杀死进程。

docker run

启动一个容器,在其中运行指定命令。

-a stdin 指定标准输入输出内容类型,可选 STDIN/
STDOUT / STDERR 三项;

-d 后台运行容器,并返回容器ID;

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

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

–name=“nginx-lb” 为容器指定一个名称;

–dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致;

–dns-search example.com 指定容器DNS搜索域名,默认和宿主一致;

-h “mars” 指定容器的hostname;

-e username=“ritchie” 设置环境变量;

–env-file=[] 从指定文件读入环境变量;

–cpuset=“0-2” or --cpuset=“0,1,2” 绑定容器到指定CPU运行;

-c 待完成

-m 待完成

–net=“bridge” 指定容器的网络连接类型,支持 bridge /
host / none
container:<name|id> 四种类型;

–link=[] 待完成

–expose=[] 待完成

使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。docker run --name mynginx -d nginx:latest使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。docker run -P -d nginx:latest使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。docker run -p 80:80 -v /data:/data -d nginx:latest绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/# '-d 后台运行   -p端口映射  前面那的是真机的端口  绑定到docker的82端口'
[root@localhost opt]# docker run -d -p 82:80 nginx

docker rm 删容器

删除容器(先停止容器在删除):docker rm 容器id

[root@docker ~]# docker rm 4aeeecce12fd
4aeeecce12fd
[root@docker ~]# docker ps -a

docker exec 进入容器

'//-i:让容器的标准输入保持打开'
'//-t:让docker分配一个伪终端'
[root@localhost opt]# docker exec -it 4e697390f6d1 /bin/bash  '进入容器 创建新的终端'
root@4e697390f6d1:/# ls
bin   docker-entrypoint.d   home   media  proc  sbin  tmp
boot  docker-entrypoint.sh  lib    mnt    root  srv   usr
dev   etc           lib64  opt    run   sys   var
root@4e697390f6d1:/etc# exit
exit[root@localhost opt]# docker attach 4e   '直接进入当前运行的容器  不创建新的终端'ls

docker commit 创建一个复制镜像

[root@localhost opt]# docker commit 35 web2
sha256:2051861483e6dd430987444df96a16100e3f5b071f797a0b03311dd7939ce167
[root@localhost opt]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
web2                latest              2051861483e6        42 seconds ago      133MB
nginx               latest              7e4d58f0e5f3        9 days ago          133MB

批量删除容器

docker ps -a |awk '{print "docker rm "$1}'

这就是你日日夜夜想要的docker!!!---------三分钟带你玩转docker命令相关推荐

  1. 五分钟带你玩转docker(三)全网最新最简单docker安装方式,楼主亲测

    1.安装docker (1)卸载以前安装的Docker容器 sudo yum remove docker \ docker-client \ docker-client-latest \docker- ...

  2. 三分钟带你玩转直播带货套路,附带直播脚本文案资料包丨国仁网络

    无直播不营销,早已成了公认的营销趋势. 几乎所有的品牌.商家.创业者都在探索直播带货之路,但是大多数人的直播之路走得并不顺利. 一场成功的直播,涉及到的运营细节多达几十个.如果没有前期的准备和策划,动 ...

  3. 三分钟带你玩转PDF文件签名

    文章目录 需求 解决方案一 解决方案二 需求 客户希望在 PDF 文件上,借助手写板完成签名操作,其中手写板是个可以把签名转成图片的的硬件,硬件部分由于来源繁多,此处略过,默认已经拿到图片签名. 解决 ...

  4. 三分钟带你看懂prototype原型——ES6进阶

    三分钟带你看懂prototype原型--ES6进阶 1. prototype 定义 2. new 构造函数 3. 存储 4. prototype 作用 1. prototype 定义 在JS中的类的实 ...

  5. 三分钟带你读懂 BERT

    本文为 AI 研习社编译的技术博客,原标题 : BERT Technology introduced in 3-minutes 作者 | Suleiman Khan, Ph.D. 翻译 | 胡瑛皓.s ...

  6. 建网站的最简单方法(三分钟带后台)

    建网站的最简单方法(三分钟带后台) 准备材料 服务器或者本地环境 安装过程 准备材料 织梦二次开发模板或者Ecshop二次开发模板等(我以织梦为例讲解) 如果是本地需要下载ComsenzEXP或者Wa ...

  7. mysql和oracle冲突吗_三分钟带你分清MySQL 和Oracle之间的误区

    原标题:三分钟带你分清MySQL 和Oracle之间的误区 来自:华为云开发者社区 摘要:MySQL和Oracle,别再傻傻分不清. MySQL 和Oracle 在开发中的使用是随处可见的,那就简单去 ...

  8. 三分钟带你弄懂slot插槽——vue进阶

    文章目录 三分钟带你弄懂slot插槽--vue进阶 一.概述 程序员之死 什么是 slot插槽? 2.6.0 版本中的 slot 二.具名插槽 例子 效果图 代码 三.小惊喜 三分钟带你弄懂slot插 ...

  9. 三分钟带你看懂HDMI接口的PCB设计

    三分钟带你看懂HDMI接口的PCB设计 本文主要讲解的是HDMI的设计,包括作用和运用的总结,希望大家看了以后能轻松的应对各种HDMI方案的PCB设计. 一.什么是HDMI? 高清晰度多媒体接口(英文 ...

最新文章

  1. 骆驼命名法,帕斯卡命名法和匈牙利命名法(转)
  2. java系统教程_Java 教程(开发环境配置+基础语法)
  3. boost::remove_edge用法的测试程序
  4. tar命令解压文件后造成目录权限更改
  5. 学习:java设计模式—工厂模式
  6. STM32跑分?看看你的能跑多少分!
  7. 在VMWare上安装CentOS8
  8. BAT算法工程师的成长之路,超详细的学习路线
  9. 欢度国庆⭐️共享爬虫之美⭐️基于 Python 实现微信公众号爬虫(Python无所不能爬)
  10. 计算机地图制图的论文,计算机地图制图实习报告.doc
  11. 【小白写代码之九九乘法表,用C/C++来实现】
  12. 智点软件定制**服装工厂衣服加工计件工资软件的方案
  13. sql语句中大于号小于号的处理
  14. win7此计算机无法加入家庭组,Win7系统无法加入家庭组问题的解决方法
  15. 【总结整理】AI产品经理大会2017(转载)
  16. 重温FPGA开发32
  17. 【工大SCIR】基于动态图交互网络的多意图口语语言理解框架
  18. iconfont本地引入显示小方块问题
  19. code2198 数字三角形WWW
  20. 【eclipse】版本代号

热门文章

  1. fir300c固件_斐讯路由器漏洞集合(内置账号及隐藏接口)
  2. AHB总线介绍及其时序图
  3. RunLoop解析(视频+原版文字)
  4. iOS 开发怎么入门?
  5. CAE(Convolutional Auto-Encode) 卷积自编码
  6. 【Android开发】apktool官网及最新版本
  7. auto 和 auto
  8. java移位运算符详解
  9. 2017西安网络赛B_Coin
  10. Python实现BT种子转化为磁力链接【实战】