Docker基本管理(1)

目录

一、什么是docker?

二、docker的优点

三、docker与虚拟机的区别

四、docker三大组件

六、docker容器操作

七、docker网络


一、什么是docker?

Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。是一种轻量级的“虚拟机”,可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。

二、docker的优点

灵活:即使是最复杂的应用也可以集装箱化。
轻量级:容器利用并共享主机内核。
可互换:可以即时部署更新和升级。
便携式:可以在本地构建,部署到云,并在任何地方运行。
可扩展:可以增加并自动分发容器副本。
可堆叠:可以垂直和即时堆叠服务。

三、docker与虚拟机的区别

特性docker容器虚拟机
启动速度秒级分钟级
计算机能力损耗几乎无损耗50%
性能接近原生弱于
系统支持量(单机)上千个几十个
隔离性资源隔离/限制完全隔离

四、docker三大组件

docker有三大核心组件:容器、镜像、仓库

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

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

镜像 nginx  (run) 起来之后的一个实例,可以把容器看做时一个简易版的linux环境容器 就是集装箱(logo上的集装箱)

(3)仓库
Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。

Docker 的镜像、容器、日志等内容全部都默认存储在 /var/lib/docker 
仓库就是放镜像的场所,做大的公开库 docker hub

五、docker镜像操作

1、搜索镜像

docker search 关键字

2、获取镜像

docker pull 仓库名称[:标签]

3、镜像加速下载

浏览器访问 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 获取镜像加速器配置mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://ae3f5qei.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

4、查看下载的镜像文件信息

cat /var/lib/docker/image/overlay2/repositories.json

5、查看下载到本地的所有镜像

docker images

6、根据镜像的唯一标识 ID 号,获取镜像详细信息

docker inspect 镜像ID号

7、为本地的镜像添加新的标签

docker tag 名称:[标签] 新名称:[新标签]

8、删除镜像

docker rmi 仓库名称:标签				#当一个镜像有多个标签时,只是删除其中指定的标签
或者
docker rmi 镜像ID号	                #会彻底删除该镜像

9、存出镜像:将镜像保存成为本地文件

docker save -o 存储文件名 存储的镜像

10、载入镜像:将镜像文件导入到镜像库中

docker load < 存出的文件
或者
docker load -i 存出的文件

11、上传镜像

docker tag nginx:latest soscscs/nginx:web		#添加新的标签时必须在前面加上自己的dockerhub的username
docker login								#登录公共仓库
Username:soscscs
password:abc123456
docker push soscscs/nginx:web					#上传镜像

六、docker容器操作

1、容器创建:就是将镜像加载到容器的过程。

docker create [选项] 镜像

2、查看容器的运行状态

docker ps -a			#-a 选项可以显示所有的容器

3、启动容器

docker start 容器的ID/名称

4、在后台持续运行 docker run 创建的容器

docker run -itd --name test1 centos:7 /bin/bash   #创建容器并持续运行容器

5、终止容器运行

docker stop 容器的ID/名称

6、容器的进入

docker exec -it 容器ID/名称 /bin/bash

7、复制到容器中

echo abc123 > ~/test.txt
docker cp ~/test.txt 2592d3fad0fb:/opt/

8、从容器复制文件到主机

docker cp 2592d3fad0fb:/opt/test.txt ~/abc123.txt

9、容器的导出与导入

导出格式:docker export 容器ID/名称 > 文件名
导入格式:cat 文件名 | docker import – 镜像名称:标签

10、删除容器

docker rm [-f] 容器ID/名称docker ps -a | awk 'NR>=2{print $1}'| xargs docker stop  #批量停止容器  docker ps -a | awk 'NR>=2{print $1}'| xargs docker rm    #批量删除所有容器docker images | grep none | awk '{print $3}' | xargs docker rmi		#删除none镜像docker rm $(docker ps -a -q)		#批量清理后台停止的容器

七、docker网络

Docker 的网络模式:
(1)Host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

(2)Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。

(3)None:该模式关闭了容器的网络功能。

(4)Bridge:默认为该模式,此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及iptables nat 表配置与宿主机通信。

(5)自定义网络:直接使用bridge模式,是无法支持指定IP运行docker的,所以需要自定义网络。

docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1"  mynetwork

使用docker run创建Docker容器时,可以用 --net 或 --network 选项指定容器的网络模式
host模式:使用 --net=host 指定。
none模式:使用 --net=none 指定。
container模式:使用 --net=container:NAME_or_ID 指定。
bridge模式:使用 --net=bridge 指定,默认设置,可省略。

例如:

docker run -itd --name test1 --net=container:id号 centos:7 /bin/bash

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【特征工程】 分类变量:使用OrdinalEncoder对序数特征进行编码

Ordinal Encoding&#xff1a;序数特征的编码方法 1. Ordinal Encoding是什么&#xff1f; 什么是序数特征&#xff1f;&#xff1a; 序数特征&#xff08;Ordinal features&#xff09; 是分类特征中包含一定顺序的变量&#xff08;如家属人数、教育程度、财产范围&#xf…

vue面试题集锦

1. 谈一谈对 MVVM 的理解&#xff1f; MVVM 是 Model-View-ViewModel 的缩写。MVVM 是一种设计思想。 Model 层代表数据模型&#xff0c;也可以在 Model 中定义数据修改和操作的业务逻辑; View 代表 UI 组件&#xff0c;它负责将数据模型转化成 UI 展现出来&#xff0c;View 是…

web缓存代理

缓存代理的概述 wed代理的工作机制 缓存网页对象&#xff0c;减少重复请求 web缓存代理作用 1.存储一些之前被访问的&#xff0c;且可能将要被再次访问的静态网络资源对象&#xff0c;使用户可以直接从缓存代理服务器获取资源&#xff0c;从而减少上游原始服务器的负载压力…

分享7款前端CSS动画特效源码(附在线演示)

精选7款前端CSS动画特效源码 下面我会给出特效样式图或演示效果图 但你也可以点击在线预览查看源码的最终展示效果及下载源码资源 CSS飞行的荷包蛋 CSS荷包蛋动画 荷包蛋会向右前方加速飞行 期间还能看到周围的气流匆匆飞过 以下图片只是简单的模型没有具体的动画效果最终动画…

IPv6路由协议---IPv6动态路由(OSPFv3-5)

OSPFv3各链路状态通告类型 4.Inter-Area-Router-LSA区域间路由器(4类LSA) 边界路由器(ABR)产生的第4类LSA,在Area 范围内泛洪,描述了到本AS内其他区域的ASBR路由器信息; 每各Inter-Area-Router-LSA包含一个ASBR路由器信息,LSA中的能力选项(Options)与所描述的ASBR …

满足ITOM需求的网络监控工具

IT 运营管理&#xff08;ITOM&#xff09;可以定义为监督 IT 基础架构的各种物理和虚拟组件的过程;确保其性能、运行状况和可用性;并使它们能够与基础架构的其他组件无缝协作。IT 运营管理&#xff08;ITOM&#xff09;在大型 IT 管理模型中也发挥着积极作用&#xff0c;包括 I…

强化学习求解TSP(四):Qlearning求解旅行商问题TSP(提供Python代码)

一、Qlearning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于奖励的决策问题。它是一种无模型的学习方法&#xff0c;通过与环境的交互来学习最优策略。Q-learning的核心思想是通过学习一个Q值函数来指导决策&#xff0c;该函数表示在给定状态下采取某个动作所获…

vue配置qiankun及打包上线

项目结构 基座&#xff1a;vue3 子应用A&#xff1a;vue3 子应用B&#xff1a; react 子应用C&#xff1a;vue3vite 项目目录&#xff1a; 配置基座 首先下载qiankun yarn add qiankun # 或者 npm i qiankun -S 所有子应用也要安装&#xff0c;vue-vite项目安装 cnpm ins…

蓝桥杯练习题(三)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;三&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …

[C#]winform部署PaddleOCRV3推理模型

【官方框架地址】 https://github.com/PaddlePaddle/PaddleOCR.git 【算法介绍】 PaddleOCR是由百度公司推出的一款开源光学字符识别&#xff08;OCR&#xff09;工具&#xff0c;它基于深度学习框架PaddlePaddle开发。这款工具提供了一整套端到端的文字检测和识别解决方案&a…

PyQt5零基础入门(二)——QLabel控件

前言 QLabel控件可以视为是一个标签项&#xff0c;具有显示文本、图像的作用。在本篇文章中将介绍QLabel控件的常见用法。 例子 显示文本 import sys from PyQt5.QtWidgets import *if __name__ "__main__":app QApplication([])label QLabel(Hello world!)la…

Zookeeper 和 naocs的区别

Nacos 和 ZooKeeper 都是服务发现和配置管理的工具&#xff0c;它们的主要区别如下&#xff1a;功能特性&#xff1a;Nacos 比 ZooKeeper 更加强大&#xff0c;Nacos 支持服务发现、动态配置、流量管理、服务治理、分布式事务等功能&#xff0c;而 ZooKeeper 主要用于分布式协调…

【天龙怀旧服】攻略day4

关键字&#xff1a; 快捷鉴定手工、组队跟随兔子、九州店铺 1】快捷鉴定手工 可以把鉴定符拖到快捷技能栏&#xff0c;例如f1然后鼠标选到未鉴定手工&#xff0c;快捷键即可鉴定 2】组队跟打手&#xff0c;兔子队 队长给小号&#xff0c;组队跟随&#xff1b; 打手退跟随打…

UM2004 一款低功耗、高性能、即插即用型 OOK 射频接收器芯片

UM2004 是一款低功耗、高性能、即插即用型 OOK 射频接收器&#xff0c;该芯片具有 2.5V ~ 5.5V 较宽的输入电压范围&#xff0c;灵敏度高达到-109dBm&#xff0c;工作频段为 300MHz ~ 480MHz&#xff0c;支持 1Kbps~ 5Kbps 的数据率传输。采用 SOP8 封装类型&#xff0c;应用时…

容器扫描Trivy及Trivy-db数据库研究

trivy介绍 Trivy是一个镜像容器扫描工具&#xff0c;用于扫描漏洞和配置错误。 它是一款相当全面且多功能的安全扫描器&#xff0c;支持多种扫描目标&#xff0c;能够弥补市面上常见Web 漏洞扫描工具的不足。 Trivy 可以轻松地通过安装并将二进制文件添加到项目中&#xff0c;…

Edge浏览器设置自动刷新详细步骤分享

Edge浏览器自动刷新设置方法详细教学分享。在电脑上访问一些动态网页的时候&#xff0c;用户发现网页的内容滚动之后&#xff0c;内容无法进行刷新。这个情况是我们的浏览器没有开启自动刷新功能。那么这个功能设置怎么开启呢&#xff1f;一起来看看以下的操作方法教学吧。 操…

@ConditionalOnProperty配置条件用法

1.application.yml配置 spring:rabbitmq:listener: simple:prefetch: 1acknowledge-mode: autoretry:enabled: true # consumer retry2.指定prefix name havingValue 指定了havingValue&#xff0c;要把配置项的值与havingValue对比&#xff0c;一致则加载Bean Configurati…

AI 在医学中的三个关键作用;联想 AI PC 全阵容亮相 CES 2024

近日&#xff0c;在接受 Northwestern 采访时&#xff0c;著名心脏病学教授 Sanjiv Shah 谈及了 AI 和医学结合所带来的三个关键作用。 Sanjiv Shah 说道&#xff1a;「首先是诊断。有许多疾病&#xff0c;无论是常见的还是罕见的&#xff0c;都容易被误诊或漏诊。AI 可以提醒临…

前端性能优化之渲染优化

页面渲染过程 为了使每一帧页面渲染的开销都能在期望的时间范围内完成。就需要开发者了解渲染过程的每个阶段&#xff0c;以及各阶段中有哪些优化空间是我们力所能及的。经过分析根据开发者对优化渲染过程的控制力度&#xff0c;可以大体将其划分为5各部分&#xff1a;js处理、…

Farad capacitor法拉电容优点及缺点

Farad capacitor 法拉电容又称Electrical Double-Layer Capacitor双电层电容器、Gold capacitor黄金电容、Super capacitor 超级电容器&#xff0c;是一种化学元件。Super capacitor 超级电容器通过极化电解质来储能&#xff0c;但不发生化学反应&#xff0c;而且储能过程是可逆…