docker基础与常用命令

目录

一.docker概述

1.docker与虚拟机区别

2.Linux 六大命名空间

3.Docker 的核心技术及概念

二.docker部署安装

三.docker常用命令

1.搜索镜像

2.获取镜像

3.查看镜像信息

4.添加镜像标签

5.删除镜像

6.存出与载入镜像

7.上传镜像

8.创建容器

9.查看容器状态

10.容器的启动、关闭与重启

11.创建并启动容器

12.进入容器

13.文件复制

14.容器导出与导入

15.删除容器


一.docker概述

1.docker与虚拟机区别

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

容器化的优势

  • 灵活:即使是最复杂的应用也可以集装箱化。

  • 轻量级:容器利用并共享主机内核。

  • 可互换:可以即时部署更新和升级。

  • 便携式:可以在本地构建,部署到云,并在任何地方运行。

  • 可扩展:可以增加并自动分发容器副本。

  • 可堆叠:可以垂直和即时堆叠服务。

2.Linux 六大命名空间

命名空间缩写作用效果
MNT挂载文件系统隔离每个命名空间可以有自己的文件系统挂载点
NET网络网络资源隔离每个命名空间可以有自己的网络栈,包括网络接口、路由表等
PID进程进程号隔离每个命名空间有自己独立的 PID 编号空间
IPC间通进程间通信隔离每个命名空间有自己独立的 System V IPC 和 POSIX 消息队列
UTS主机主机名、域名隔离每个命名空间可以有自己的主机名和域名
USER用户用户名、组名隔离每个命名空间可以有自己的用户和组 ID 映射

3.Docker 的核心技术及概念

Docker 容器本质上是宿主机的一个进程,通过以下技术实现资源隔离和限制:

  • Namespace:实现资源隔离。

  • Cgroup:实现资源限制。

  • 写时复制技术(Copy-on-Write):实现高效的文件操作。

docker核心概念:镜像、容器、镜像仓库

二.docker部署安装

1.关闭防火墙

systemctl stop firewalld.service
setenforce 0

2.安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置阿里源

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

4.安装docker-ce并设置开机自启动

yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service

三.docker常用命令

1.搜索镜像

docker search 关键字

2.获取镜像

docker pull 仓库名称[:标签]

3.查看镜像信息

docker images

docker inspect 镜像ID号(查看镜像详细信息)

4.添加镜像标签

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

如:docker tag nginx:latest nginx:web

5.删除镜像

  • docker rmi 仓库名称:标签:删除指定标签的镜像

  • docker rmi 镜像ID号:彻底删除镜像

如:docker rmi nginx:web

6.存出与载入镜像

存出镜像:

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

如:docker save -o nginx nginx:latest

载入镜像:

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

如:docker load < nginx

7.上传镜像

docker push 用户名/镜像名称:新标签

8.创建容器

  • 格式docker create [选项] 镜像

  • 常用选项

    • -i:开启标准输入接受用户输入命令。

    • -t:分配一个伪终端 tty。

    • -it:合起来实现和容器交互的作用,运行一个交互式会话 shell。

如:docker create -it nginx:latest /bin/bash

9.查看容器状态

docker ps -a

10.容器的启动、关闭与重启

docker start/stop/restart 容器ID

11.创建并启动容器

docker run [选项] 镜像 [命令]

docker run -itd image_name:tag [/bin/bash.....] 下载并将镜像运行为容器(-i 让容器可以接受宿主机的指令、-t 为容器分配一个伪终端,让用户可以"登录"进容器,-d 分配一个守护进程,这样可以让容器运行时不占用前台终端)

12.进入容器

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

如:docker exec -it 2592d3fad0fb /bin/bash

13.文件复制

  • 复制到容器

    echo abc123 > ~/test.txt
    docker cp ~/test.txt 2592d3fad0fb:/opt/
  • 从容器复制到主机

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

14.容器导出与导入

导出:
  docker export 2592d3fad0fb > centos7.tar

 导入:
  cat centos7.tar | docker import - centos7:test
 

15.删除容器

docker rm [-f] 容器ID/名称

  • 删除已终止容器

    docker stop 2592d3fad0fb
    docker rm 2592d3fad0fb
  • 强制删除运行容器

    docker rm -f 2592d3fad0fb

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

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

相关文章

Cypress与多语言后端集成指南

Cypress 简介 基于 JavaScript 的前端测试工具,可以对浏览器中运行的任何内容进行快速、简单、可靠的测试Cypress 是自集成的,提供了一套完整的端到端测试,无须借助其他外部工具,安装后即可快速地创建、编写、运行测试用例,且对每一步操作都支持回看不同于其他只能测试 UI…

计算机毕业设计ssm基于JavaScript的餐厅点餐系统 SSM+Vue智慧餐厅在线点餐管理平台 JavaWeb前后端分离式餐饮点餐与桌台调度系统

计算机毕业设计ssm基于JavaScript的餐厅点餐系统0xig8788&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。扫码点单、手机支付、后厨实时出票已经成为食客对餐厅的基本预期。传统的…

wedo稻草人-----第32节(免费分享图纸)

夸克网盘&#xff1a;https://pan.quark.cn/s/ce4943156861 高清图纸源文件&#xff0c;需要的请自取

Jmeter函数的使用

函数名作用用法${__Random(,,)}${__RandomString(,,)}随机生成一些东西${__Random(000,999,)} ${__Random(${test1},${test2},)}${__RandomString(${__Random(3,9,)},asdfghjkl,)}${__time(,)}获取当前的时间戳&#xff0c;也可以定义格式${__CSVRead(,)}读取CSV文件的格式&…

Windows 用户账户控制(UAC)绕过漏洞

漏洞原理CVE-2021-31199 是一个 Windows 用户账户控制&#xff08;UAC&#xff09;绕过漏洞&#xff0c;CVSS 3.1 评分 7.8&#xff08;高危&#xff09;。其核心原理如下&#xff1a;UAC 机制缺陷&#xff1a;Windows UAC 通过限制应用程序权限提升系统安全性&#xff0c;但某…

comfyUI-controlNet-线稿软边缘

{WebUI&comfyUI}∈Stable Diffuision&#xff0c;所以两者关于ContrlNet的使用方法的核心思路不会变&#xff0c;变的只是comfyUI能够让用户更直观地看到&#xff0c;并且控制生图的局部过程。 之前的webUI中涉及到ContrlNet部分知识&#xff1a;SD-细节控制-CSDN博客 概…

SOEM build on ubuntu

1.配置 soem2.编译 soem3.结果4.记录一下自己的开发环境家里台式机

STM32--USART串口通信的应用(第一节串口通信的概念)

咱们今天呢给大家讲解咱们 stm32 开发当中的串口的应用啊 &#xff0c; 串口这个专题呢啊是我们那 个学习上必须要掌握的一个外设串口有什么作用呢&#xff0c;其实在我们以后的这个开发程序当中&#xff0c;咱们可能经常需要用到一些调试 信息&#xff0c;对吧&#xff1f; 啊…

STM32F407ZGT6天气时钟+实时温湿度显示(附源码)

文章目录实现功能&#xff1a;项目展示&#xff1a;代码解析&#xff1a;实现功能&#xff1a; 1.主要功能&#xff1a;通过485通信获取传感器温湿度&#xff0c;温湿度数据显示、实时时钟显示与用户交互。使用LVGL在显示屏上展示传感器温湿度数据&#xff0c;并提供UI设置温度…

和鲸社区深度学习基础训练营2025年关卡4

使用 pytorch 构建一个简单的卷积神经网络&#xff08;CNN&#xff09;模型&#xff0c;完成对 CIFAR-10 数据集的图像分类任务。 直接使用 CNN 进行分类的模型性能。 提示&#xff1a; 数据集&#xff1a;CIFAR-10 网络结构&#xff1a;可以使用 2-3 层卷积层&#xff0c;ReLU…

前端性能优化全攻略:从加载到渲染

目录 前言网络请求优化资源加载优化JavaScript执行优化渲染优化用户体验优化性能监控与分析总结 前言 随着Web应用复杂度不断提升&#xff0c;前端性能优化变得尤为重要。本文将系统性地介绍从资源加载到页面渲染的全链路性能优化策略&#xff0c;帮助开发者构建高效、流畅的…

hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库

目录 1.简介 2.安装和配置 2.1.源码编译安装&#xff08;通用方法&#xff09; 2.2.包管理器安装&#xff08;特定系统&#xff09; 2.3.Windows 安装 3.常用的函数及功能 3.1.连接管理函数 3.2.命令执行函数 3.3.异步操作函数 3.4.回复处理函数 3.5.错误处理 3.6.…

TCP套接字

1.概念套接字是专门进行网络间数据通信的一种文件类型&#xff0c;可以实现不同主机之间双向通信&#xff0c;包含了需要交换的数据和通信双方的IP地址和port端口号。2.套接字文件的创建int socket(int domain, int type, int protocol); 功能&#xff1a;该函数用来创建各种各…

Go语言高并发聊天室(一):架构设计与核心概念

Go语言高并发聊天室&#xff08;一&#xff09;&#xff1a;架构设计与核心概念 &#x1f680; 引言 在当今互联网时代&#xff0c;实时通信已成为各类应用的核心功能。从微信、QQ到各种在线协作工具&#xff0c;高并发聊天系统的需求无处不在。本系列文章将手把手教你使用Go语…

Java基础:泛型

什么是泛型&#xff1f; 简单来说&#xff0c;Java泛型是JDK 5引入的一种特性&#xff0c;它允许你在定义类、接口和方法时使用类型参数&#xff08;Type Parameters&#xff09;。这些类型参数可以在编译时被具体的类型&#xff08;如 String, Integer, MyCustomClass 等&…

RMSNorm实现

当前Qwen、Llama等系列RMSNorm实现源码均一致。具体现实如下&#xff1a; class RMSNorm(nn.Module):def __init__(self, hidden_size, eps1e-6):super().__init__()self.weight nn.Parameter(torch.ones(hidden_size))self.variance_epsilon epsdef forward(self, hidden_s…

智能Agent场景实战指南 Day 11:财务分析Agent系统开发

【智能Agent场景实战指南 Day 11】财务分析Agent系统开发 文章标签 AI Agent,财务分析,LLM应用,智能财务,Python开发 文章简述 本文是"智能Agent场景实战指南"系列第11篇&#xff0c;聚焦财务分析Agent系统的开发。文章深入解析如何构建一个能够自动处理财务报表…

人工智能安全基础复习用:可解释性

一、可解释性的核心作用1. 错误检测与模型改进发现模型的异常行为&#xff08;如过拟合、偏见&#xff09;&#xff0c;优化性能。例&#xff1a;医疗模型中&#xff0c;可解释性帮助识别误诊原因。2. 安全与可信性关键领域&#xff08;医疗、军事&#xff09;需透明决策&#…

Qt:QCustomPlot类介绍

QCustomPlot的核心类就是QCustomPlot类。这个类继承自QWidget&#xff0c;因此可以像其他QWidget一样使用&#xff0c;比如放入布局中。QCustomPlot类基本结构一个QCustomPlot对象可以包含多个图层&#xff08;通过QCPLayer表示&#xff09;&#xff0c;通常使用默认图层。它包…

Visual Studio 2022 上使用ffmpeg

目录 1. 添加包含目录 2. 添加库目录 3. 添加依赖项 4. 添加动态库目录 5. 测试 在解决方案中右击项目名称&#xff0c;弹出的窗口中选择 "属性"。 1. 添加包含目录 "C/C" -> "常规" -> "附加包含目录"中添加 ffmpeg中的…