推荐阅读:

面试字节跳动三轮凉凉,内推4面终拿下抖音offer(Java后台研发)​zhuanlan.zhihu.com

一线架构师Spring boot 学习笔记:我的成长全记在这份PDF文档里​zhuanlan.zhihu.com

前言

上篇讲了我们如何安装docker,现在该我们一展拳脚的时候了。接下来让我们一起学习一下docker常见的操作,让我们能够会使用 docker。

基本概念

在讲使用之前,还是先将一下docker 的基本概念,毕竟上篇就讲了docker 的安装。一些基本的名词还是需要了解一下的。 docker 最重要的就是镜像和容器了,还有一个仓库。

那什么是docker 镜像呢?

docker 镜像就相当于一个 root 文件系统,不仅包含容器运行的程序和资源,还包含运行依赖的配置。但是镜像不包含任何动态的数据。

通俗的来讲就像是我们项目运行需要各种依赖和配置以及各种部署。然后我们将这些环境和程序都打包在一起,形成一个可以直接运行的包。就相当于是docker镜像,将所有需要的环境都集成在一起。在哪都可以运行。

docker 镜像是分层存储的。docker镜像在构建的时候是一层层构建的前一层是后一层的基础,使得镜像在复用、定制变得更加简单。也由于镜像是分层存储的,所以镜像显示的size 大小并不是实际占用的物理内存。因为有很多中间镜像都是公用的。所以实际占用的内存会比显示的size要小。

查看容器实际的占用的内存使用

docker system df

现在知道镜像了,那镜像怎么使用呢?

那就是通过容器啦,容器和镜像的关系就像是 对象和实例的关系。也就是说根据镜像创建一个可以直接运行的容器。容器是镜像的具体体现,所以容器就有创建,启动,停止,删除等操作。

镜像的使用

好了,前面知道了什么是docker 镜像和容器,那现在就我们来看看怎么使用他们吧。

下载镜像

我们安装好docker 后,怎么获取镜像呢?和git 拉取一样也是使用pull.

docker pull

详细的参数使用可以通过docker pull --help 来查看

比如我们现在下载一个nginx的景象

docker pull nginx

默认会下载latest 的镜像,表示下载最新的镜像。也可以下载稳定版本的,或者下载指定版本的。

docker pull nginx:stable
docker pull nginx:1.16

查询镜像

我们镜像下载下来了,我们怎么查看我们电脑上有哪些镜像呢? 其实上面我已经用了

docker image ls
或者
docker images 两者的效果是一样的。

具体使用一样的可以使用docker image --help。我们接下来将我们常用的。 查询显示虚悬镜像

docker images -f dangling=true

虚悬镜像是没有作用的,占用内存空间,虚悬镜像怎么来呢?一般是我们下载镜像,依赖一些中间镜像,然后我们删除了下载的镜像,但是只是删除了上层镜像,依赖的镜像没有删除。这样没有依赖的中间镜像就成了虚悬镜像,是可以删除的。

删除虚悬镜像

docker image prune

其他的一些查询操作。

#列出中间层镜像
docker images -a
#列出部分镜像
docker images 仓库名
#过滤
docker images -f since=仓库名
docker images -f before=仓库名

删除镜像

我们现在知道怎么拉取镜像,以及在本地查看镜像,那我们想要删除镜像怎么删除呢?

docker image rm 镜像id

我们可以通过镜像id 来删除镜像,并且不用完整的镜像id ,只要可以做唯一区分就好了。

除了通过镜像id 来删除镜像,还可以通过以下的几种方式来删除,更过的可以通过docker image rm --help来查看

# 删除所有仓库名为***的镜像
docker image rm $(docker images -q 仓库名)
# 删除仓库名在***之前的镜像
docker image rm $(docker images -q -f before=仓库名)

容器的使用

上面讲了镜像的获取查看删除操作,那我们怎么根据镜像来操作相关的容器呢?

创建和启动

前面说了镜像和容器的关系就像是对象和实例的关系。我们一般使用都是使用实例,一样的我们docker使用也是使用docker容器。 那我们怎么根据镜像来创建容器并使用它呢? 使用

docker run 

比如我们前面下载了那么多Nginx,我们现在启动你nginx 试试。

docker run -p 8080:80 nginx:stable

-p 是用来指定映射端口的,8080是我们设置访问那个端口,80 是Nginx本身的端口。也可以后台启动

docker run -d -p 8180:80 nginx:stable

设置容器name

docker run --name myNginx -d -p 8280:80 nginx:stable 

我们现在在浏览器上访问一下8080,8081,8082这几个端口,应该都可以访问的。

终止容器

上面的容器启动了,我们现在想要停止容器,我们该怎么做呢? 如果我们没有后台启动,想要终止容器的话,直接Ctrl+C 就可以退出来。如果我们是后台启动的,我们就需要通过

docker container stop 容器id

可以看到,删除的时候一样的不需要完整的id ,只要可以唯一区分就可以。

查看容器

其实上面已经用到了如何查询容器。

docker container ls

这个是查看正运行的容器。查看所有容器使用

docker containe la -a

更多的命令可以查看

docker container ls --help

上图可以看到我已经停止了三个Nginx容器。用 -a 才会显示。

重启容器

我们又想将关的容器重新启动,那怎么做

docker container start 容器id
#重启运行中的容器
docker container restart 容器id

删除容器

docker container rm 容器id
# 删除运行中的容器
docker container -f 容器id
# 删除所有没有运行的容器
docker container prune

总结

到此为止,我们常用的镜像和容器的操作就会使用啦。都是一些命令。忘记的可以--help 查看一下。

作者:quellanan2
链接:docker 镜像容器常用操作(让我们用docker 溜得飞起)

docker 删除所有未启动的容器_Docker 镜像容器常用操作(让我们用 docker 溜得飞起)...相关推荐

  1. docker 删除所有未启动的容器_Docker数据卷容器及DockerFile

    一:介绍 什么是容器数据卷? 我们都知道,容器中是有数据的,如果我们将容器删除,数据就会丢失,就好比我们的MySQL服务容器,我们把容器删了,数据就没了,删库跑路都不用 rm -rf /* 命令的,所 ...

  2. 二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

    文章目录 前言 基本概念 镜像的使用 下载镜像 查询镜像 删除镜像 容器的使用 创建和启动 终止容器 查看容器 重启容器 删除容器 番外 前言 上篇讲了我们如何安装docker,现在该我们一展拳脚的时 ...

  3. 服务器意外断电系统崩溃,Docker 实例不能正常启动 可能诱因:服务器意外断电 操作系统故障 运维操作有误...

    标签: [root@bogon ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@bogon ~]# ...

  4. Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)

    本节我们对 Docker 镜像做个小结. 这一部分我们首先讨论了镜像的分层结构,然后学习了如何构建镜像,最后实践使用 Docker Hub 和本地 registry. 下面是镜像的常用操作子命令: p ...

  5. docker 删除容器_Docker (二) Windows10专业版安装教程

    前言 本文将基于 windows10专业版 来安装docker 1.开启Hyper-V 温馨小提示:之前小编是windows10企业版没有Hyper-V这个功能,于是通过DockerToolbox安装 ...

  6. centos7 docker删除端口映射_容器Docker详解

    概述 基本概念Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源.Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Li ...

  7. Docker——使用docker工具管理软件/组件的运行,镜像、容器、数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境

    Docker--使用docker工具管理软件/组件的运行,镜像.容器.数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境 一.docker的安装和卸载 1.卸载 2.安装 3. 导 ...

  8. docker看远程仓库镜像_Docker 镜像使用

    Docker 镜像使用 当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载. 下面我们来学习: 1.管理 ...

  9. Docker容器技术 |镜像原理 |数据卷 |数据卷容器

    文章目录 一.Docker镜像介绍 二.镜像的commit操作补充 三.Docker数据卷 数据卷的理念:持久化+数据共享 方式1:直接添加数据卷 方式2:使用DockerFile添加数据卷 四.Do ...

最新文章

  1. macos 全局快捷键 打开 iterm_MouseInc – 完全免费的全局鼠标手势增强工具 | 马小帮...
  2. python计算文件中字母出现次数_python – 计算文本文件中字母的频率
  3. IT人的十八般武艺-序言
  4. UNICODE编程资料(转贴)
  5. keyloadtool_phoenix 利用CsvBulkLoadTool 批量带入数据并自动创建索引
  6. 数据是以什么形式存放在计算机中的?计算机与进制 (进制转换原则)
  7. JDK动态代理在RPC框架中的应用
  8. 捕获浏览器关闭、刷新事件,在窗体关闭时从全局对象里移除当前用户
  9. 用java做一个小游戏源代码_用java编写的小游戏源代码分析
  10. arr访问绝对地址_ECSHOP源码里的图片的相对地址改为绝对地址 (1)
  11. sql server 2012 安装与下载
  12. greasyfork脚本怎么取消_greasy fork脚本大全电脑游戏安装使用
  13. ARM9开发板连接鼠标和键盘
  14. 利用python-opencv彩色图片转黑白图片
  15. 解释一下label中的写法:plt.plot(t, sig, b-, linewidth=2, label=r$\sigma(t) = \frac{1}{1 + e^{-t}}$)...
  16. 谷歌在新标签页打开搜索结果(超级新手)
  17. vinted是什么平台以及特点
  18. python中有指针吗_Python中的指针——到底指什么(一)
  19. c语言程序设计第2章,c语言程序设计(包云)c第2章算法
  20. 什么java工厂模式_java的三种工厂模式是什么?

热门文章

  1. js控制鼠标移动_原生JS封装可拖拽效果
  2. mysql limit优化_MySQL:教你学会如何做性能分析与查询优化
  3. Linux中为wget命令设置代理
  4. Selenium3自动化测试——1. 新建第一个Selenium自动化测试脚本
  5. mySQL5.5服务配置_配置mysql5.5主从服务器(转)
  6. linux创建文件怎么输入换行_Revit 怎么创建自定义的族文件?
  7. iframe内容 固定比例_允知研习|浅析固定总价合同的结算问题
  8. captura录屏发生了一个错误_录屏教程的方法有哪些?学会这两种轻松搞定
  9. 大学期间可以获得哪些荣誉_大学期间没有什么荣誉经历,该怎么写简历呢?找工作会很难吗?...
  10. linux开终端失败,Linux:终端提示符 (prompt) 不如期生效原因