二、docker 镜像容器常用操作(让我们用docker 溜得飞起)
前言
上篇讲了我们如何安装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 查看一下。
好了,就说这么多啦
后续加油♡
欢迎大家关注个人公众号 "程序员爱酸奶"
分享各种学习资料,包含java,linux,大数据等。资料包含视频文档以及源码,同时分享本人及投递的优质技术博文。
如果大家喜欢记得关注和分享哟❤

二、docker 镜像容器常用操作(让我们用docker 溜得飞起)的更多相关文章
- Docker 镜像的常用操作
镜像作为 Docker 三大核心概念中,最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌握的.本文将带您一步一步,图文并重,上手操作来学习它. 目录 一 Docker 下载镜像 1.1 下 ...
- docker镜像,容器的操作和应用
镜像操作 拉取镜像 从中央仓库拉取到本地 docker pull 镜像名称[:tag] #举个例子 :docker pull daocloud.io/libarary/tomcat:8.5.-jre8 ...
- docker镜像的常用操作
获取镜像 比如说我们可以这样操作 当然把这个镜像拉过来时间非常长. 查看镜像列表 命令: docker images 说明: 使用docker images命令可以列出本地主机上已有的镜像. 信息 ...
- Docker系列(二)镜像下载、操作容器、镜像导入导出等操作
一.镜像操作 列出镜像 $sudo docker images 从dockerhub检索image $docker search image_name 下载image $docker pull ima ...
- Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)
本节我们对 Docker 镜像做个小结. 这一部分我们首先讨论了镜像的分层结构,然后学习了如何构建镜像,最后实践使用 Docker Hub 和本地 registry. 下面是镜像的常用操作子命令: i ...
- 三、Docker镜像的相关操作
原文:三.Docker镜像的相关操作 一.查看本地镜像: docker images 二.使用某个镜像来运行容器: docker run -t -i xxxx(镜像名):xx.xx(版本,不带即最新) ...
- docker的一些常用操作
镜像:一个打包好的应用,还有应用运行的系统.资源.配置等容器:镜像的实例,一个镜像可以有一个或多个实例(容器)对docker容器的变更时写到容器的文件系统的,而不是写到docker镜像中的,可以用一个 ...
- Docker的镜像及容器常用操作(2)
一.docker镜像 镜像(docker image) --- Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器 ...
- 容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)
前面讨论了如何运行容器,本节学习容器的其他常用操作. stop/start/restart 容器 通过 docker stop 可以停止运行的容器. 容器在 docker host 中实际上是一个进程 ...
随机推荐
- 虚拟化(一) -VMware产品介绍
https://www.cnblogs.com/zhrngM/p/9547928.html 由于公司最近在做虚拟化监控,因此就需要把虚拟化方面的知识给学习总结一下,对于虚拟化的概念,摘自百度百科,如下 ...
- CentOS7 常用命令
常用命令 1.文件与目录操作 命令 解析 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在目录 cp file1 fi ...
- HBase常用操作之namespace
1.介绍 在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分.Apache HBase从0.98.0, 0.95.2两个版本开始支 ...
- Visual Studio Code安装Python环境
如何在全宇宙最强编辑器安装Python运行环境 (雾 首先安装Python2和Python3,如果只需要用到一个的话,直接安装即可运行,不存在转换问题. 安装Python扩展,直接搜索安装即可. 更改 ...
- EasySwoole+ElasticSearch打造 高性能 小视频服务系统
EasySwoole+ElasticSearch打造高性能小视频服务 第1章 课程概述 第2章 EasySwoole框架快速上手 第3章 性能测试 第4章 玩转高性能消息队列服务 第5章 小视频服务平 ...
- DOM之节点操作
DOM提供了很多实用的API,这些API让我们可以轻松的访问HTML文档.所谓API(应用程序接口),简单来说,就是让我们可以直接使用它访问程序的一些属性或方法,而不用了解程序内部的运作过程和原理. ...
- 从壹开始学习NetCore 45 ║ 终于解决了事务问题
一.项目说明 哈喽,又来写文章了,原来放假可以这么爽,可以学习和分享,
- Win系统下使用命令链接MySQL数据库
方法一: 1:打开[开始]>[运行]输入[cmd]单击[确定]后出现CMD命令黑色窗口,这就是我们说的CMD命令行 2:默认进入C盘,于是我们可以进入E盘,点击回车.因为我的数据库是存放在E盘的 ...
- 站内搜索(ELK)之数据目录
在使用elasticsearch建设站内搜索时,随着数据不断丰富,为了数据管理更加精细化,必须建立并实时维护“数据目录”(在程序设计中对应的叫法“数据字典”). 数据目录需要包含以下几个维度:数据名称 ...
- rpm -qa|grep nfs >/dev/null 2>&1作用
在使用一些shell命令是,经常会用到rpm -qa|grep nfs >/dev/null 2>&1之类的命令,该命令干嘛用的呢? 其实这个命令就是将rpm -qa|grep n ...