Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

这篇具有很好参考价值的文章主要介绍了Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,Docker简介

Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源

是在Linux容器里运行应用的开源工具

是一种轻量级的”虚拟机“

Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的,可移植的,自给自足的容器。

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

二,Docker与虚拟机的区别

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

三,容器核心技术

docker本质就是宿主机的一个进程,docker是通过namespace(命名空间)实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。

四,Docker核心概念

●镜像
Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker容器引擎的只读模板。
通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。
Docker镜像也是一个压缩包,只是这个压缩包不只是可执行文件,环境部署脚本,它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建,所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。

●容器
Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。
可以把容器看做是一个简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。

●仓库
Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。
Docker的镜像、容器、日志等内容全部都默认存储在/var/lib/docker

五 docker的安装

5.1关闭防火墙,关闭文件防护

 systemctl stop firewalld
 setenforce 0

5.2 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-utils:提供了yum-config-manager 工具。device mapper:
是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。device mapper存储驱动程序需要 device-mapper-persistent-data和 lvm2。

5.3 设置阿里云镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.4 安装Docker-CE并设置为开机自动启动

yum install -y docker-ce docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service
安装好的Docker系统有两个程序,Docker服务端和ocker客户端。其中Docker服务端是一个服务进程,负责管理所有容器。
Docker客户端则扮演着Docker服务端的远程控制器,可以用来控制Docker的服务端进程。大部分情况下Docker服务端和客户端运行在一台机器上。

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

5.5 查看docker信息

docker version

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

5.6查看docker状态

docker info  数量信息,容器信息,镜像信息

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

六 Docker镜像操作

6.1 搜索镜像

  docker  search  关键字

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

6.2 获取镜像

docker  pull  名称

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

6.3 查看镜像

docker images

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

6.3 查看镜像信息

docker inspect  镜像名称或者id

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

6.4 修改镜像名字和标签

docker tag  旧库名:旧标签  新名:新标签

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

6.5 删除镜像

  docker  rmi  库名:标签
  docker  rmi   镜像id号    -f
  注意如果这个镜像在被容器使用,加上-f会把容器也删除

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

6.6 镜像导出导入到本地

先导出镜像
docker  save   -o  自定义文件名 库名:标签
删除镜像
docker  rmi  镜像名:标签
在导入镜像
docker  load   -i   镜像名

docker load < 镜像名

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

6.7 批量删除所有镜像

docker images | awk ‘NR>=2 {print " docker rmi " $3}’ |bash

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

七 Docker容器操作

7.1 容器的创建

新创建的容器默认处于停止状态,不运行任何程序,需要再其中发起一个进程来启动容器
docker create [选项] 镜像

常用选项:
-i:让容器开启标准输入
-t:让Docker分配一个伪终端tty
-it:合起来实现和容器交互的作用,运行一个交互式会话shell

 docker create -it nginx:latest /bin/bash

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.2 查看容器状态

 docker  ps  -a

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.3 启动容器

docker start 容器id/容器名

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.4 停止容器

docker stop 容器id
或
docker kill 容器id

两者区别是  docker stop 想当于给程序发送一个指令,等程序处理完进程后 关闭程序
而 docker kill 是不管三七二十一,直接强制删除

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.5 创建并启动容器

可以直接执行 docker run命令,等同于先执行docker create命令,再执行 docker start命令。
心
注意:容器是一个与其中运行的 shell命令共存亡的终端,命令运行容器运行,命令结束容器退出。
docker容器默认会把容器内部第一个进程,也就是 pid=1的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。

当利用 docker run来创建容器时,Docker在后台的标准运行过程是:

(1)检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;

(2)利用镜像创建并启动一个容器;

(3)分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;

(4)从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;

(5)分配一个地址池中的IP地址给容器;

(6)执行用户指定的应用程序,执行完毕后容器被终止运行。
在后台持续运行docker run创建的容器
docker run -d centos:7 /bin/bash -c "while true; do echo helloworld; done"

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.6 修改容器名称

先停止一个容器
docker  stop   容器id
修改容器名称
docker  run  -tid  --name  ck  centos:7 /bin/bash

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.7 进入容器

docker  exec  -it  容器名  bash

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

如何创建完容器直接进入容器(一条命令搞定)

 docker run -it centos:7 bash

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.8 实现容器和宿主机之前的文件传输

宿主机导入文件到容器

docker cp 文件 容器id号:/容器目录/

容器导出文件到宿主机并改名

docker cp 容器id号:/容器目录/文件   宿主机目录/新文件名

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.9 容器导出和导入

docker export 容器id/名称 > 文件名             导出容器
cat 文件名 | docker import - 镜像名称:标签      导入容器 
docker images                               查询导出的容器
#因为导出的是容器,查询用docker ps -a查询不到结果

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

7.10 删除容器

docker rm 容器id/容器名

删除正在运行的容器,需要先停止容器 或者加-f 强制删除

如何一次性删除所有容器
docker ps -a | awk 'NR>=2{print $1}'|xargs docker rm -f

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

其他命令

批量清理后台停止的容器
docker rm $(docker ps -a -q)文章来源地址https://www.toymoban.com/news/detail-418672.html

到了这里,关于Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker删除镜像和容器

    首先需要停止所有的容器(只停止单个时把后面的变量改为image id即可) docker stop $(docker ps -a -q) 删除所有的容器(只删除单个时把后面的变量改为image id即可) docker rm $(docker ps -a -q) 查看host中的镜像 docker images 删除指定id的镜像 docker rmi 想要删除untagged images,也就是那些id为

    2024年02月16日
    浏览(99)
  • docker删除镜像及容器

    清理服务器相关无用docker镜像及容器。 要删除 Docker 中的镜像,可以使用 docker rmi 命令。请注意,删除镜像前请确保不再需要它,并且已经停止了使用该镜像的所有容器。否则,需要首先删除使用该镜像的容器。 以下是删除镜像的步骤: 确定要删除的镜像的名称或 ID。可以

    2024年02月07日
    浏览(49)
  • docker删除所有容器和镜像

    确保自己有权限,一般先执行下面的命令获取管理员权限 1、杀死运行的容器: 2、删除所有容器: 3、强制删除所有镜像: 一个示例:

    2024年02月12日
    浏览(59)
  • docker批量删除容器或镜像

    删除所有容器,需要先停止所有运行中的容器 docker ps -a -q ,意思是列出所有容器(包括未运行的),只显示容器编号,其中 -a : 显示所有的容器,包括未运行的。 -q : 静默模式,只显示容器编号。 使用以下命令删除所有处于停止状态的容器: 该命令将删除所有未运行的容器,

    2024年02月05日
    浏览(49)
  • kafka 基础概念、命令行操作(查看所有topic、创建topic、删除topic、查看某个Topic的详情、修改分区数、发送消息、消费消息、 查看消费者组 、更新消费者的偏移位置)

    kafka官网 Broker   一台kafka服务器就是一个broker,可容纳多个topic。一个集群由多个broker组成; Producer   生产者,即向kafka的broker-list发送消息的客户端; Consumer   消费者,即向kafka的broker-list订阅消息的客户端; Consumer Group   消费者组是 逻辑上的一个订阅者 ,由多个

    2024年02月01日
    浏览(61)
  • Docker 批量删除容器或镜像方法

    一、首先需要停止所有运行中的容器 docker ps -a -q 意思是列出所有容器(包括未运行的),只显示容器编号,其中 -a : 显示所有的容器,包括未运行的。 -q : 静默模式,只显示容器编号。 二、删除所有容器,将上面命令中的 stop 改为 rm 即可: docker images -q 意思是列出本地镜像

    2024年02月11日
    浏览(46)
  • docker 批量快速删除容器和镜像

    如果你想要批量删除 Docker 镜像,可以使用各种命令。以下是一些示例: 1. 删除所有镜像: docker rmi $(docker images -q) 2. 删除所有未标记的镜像(即  none  镜像): docker rmi $(docker images -f \\\"dangling=true\\\" -q) 请注意,根据你的 Docker 版本和设置,你可能需要在上述命令前添加  sudo

    2024年02月06日
    浏览(46)
  • 【MySQL视图】视图的概念、创建、查看、删除和修改

    目录   一、什么是视图   二、创建视图   1.在单表上创建视图   2.在多表上创建视图    三、查看视图    1.使用DESCRIBE | DESC语句查看视图基本信息   2.使用SHOW TABLES语句查看视图基本信息   3.使用 show create view/table 语句查看视图创建信息   四、更新视图数据    五、修改视

    2024年02月08日
    浏览(85)
  • docker在删除容器或者镜像时报错

    linux:centos7 docker: 20.10.8 错误1:Error response from daemon: conflict: unable to remove repository reference “hello-world:latest” (must force) - container 258930df3ddc is using its referenced image bf756fb1ae65 错误2:unable to delete bdf60dc2ada3 (must be forced) - image is being used by stopped container e4b44cda2 linux使用docker安装n

    2024年02月15日
    浏览(39)
  • Docker基本操作之删除容器Container和删除镜像IMAGE

    1.1 删除容器Container语法 1.2 删除容器Container 操作 删除容器Container使用docker rm 命令,例如删除mysql容器: 1.3 docker ps docker ps 语法: docker ps 各个参数的说明: 2.1 删除镜像IMAGE语法 删除镜像IMAGE使用 docker rmi 命令,例如删除 mysql 镜像: 2.2 docker images 各个参数的说明: 2.3 强制删

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包