Docker 学习(一)

一、Docker 核心概念

Docker 是一个开源的容器化平台,允许开发者将应用及其所有依赖(代码、运行时、系统工具、库等)打包成一个轻量级、可移植的“容器”,实现 一次构建,随处运行

1、容器(Container)

  • 轻量级、可执行的软件包,包含应用及其所有依赖(代码、运行时、系统工具、库等)。

  • 基于镜像运行,独立于宿主机操作系统,共享宿主内核。

2、镜像(Image)

  • 只读模板,用于创建容器。

  • 由多层文件系统叠加而成(UnionFS),支持复用和增量更新。

3、仓库(Registry)

  • 存储和分发镜像的服务,如 Docker Hub(默认公共仓库)、私有仓库(Harbor)。

4、Docker 与 虚拟机 的比较

作为一种轻量级的虚拟化方式,Docker 在运行应用上跟传统的虚拟机方式相比具有如下 显著优势:
  • Docker 容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式(数分钟)要快得多;
  • Docker 容器对系统资源需求很少,一台主机上可以同时运行数千个
  • Docker 容器(在 IBM 服务器上已经实现了同时运行! OK 量级的容器实例);
  • Docker 通过类似 Git 设计理念的操作来方便用户获取、分发和更新应用镜像,存储复用,增量更新;
  • Docker 通过 Dockerfile 支持灵活的自动化创建和部署机制,以提高工作效率,并标准化流程

二、Docker 的安装配置

1、linux 安装(CentOS)

自己构建yum仓库源
# step 1: 安装必要的一些系统工具
 yum install -y yum-utils

# Step 2: 添加阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 安装Docker
 yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Step 4: 开启Docker服务
systemctl enable --now docker

# Step 5:验证安装
docker version

2、配置国内镜像加速器

[root@centos ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://docker.nju.edu.cn"
    ]
}
[root@centos ~]# systemctl daemon-reload
[root@centos ~]# systemctl restart docker

# 验证
[root@centos ~]# docker pull busybox    //拉取镜像
Using default tag: latest
latest: Pulling from library/busybox
Digest: sha256:498a000f370d8c37927118ed80afe8adc38d1edcbfc071627d17b25c88efcab0
Status: Image is up to date for busybox:latest
docker.io/library/busybox:latest
[root@centos ~]# docker images         //查看本地已有镜像的基本信息
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
busybox      latest    31311c5853a2   5 months ago   4.27MB
其中镜像的ID信息十分重要, 它唯一标识了镜像。
在使用镜像ID的时候, 一般可以使用该ID的前若干个字符组成的可区分串来替代完整的ID。

三 、Docker 核心命令

镜像管理

1、docker  images  ——查看本地镜像

2、docker  pull  ubuntu:latest ——拉取镜像

从稳定性上考虑,不要在生产环境中忽略镜像的标签信息或使用默认的latest 标记的镜像。

3、docker  rmi  <image_id>或TAG  ——删除镜像,加上 -f 便是强制删除

注意:当有该镜像创建的容器存在时, 镜像文件默认是无法被删除的。但是通常并不推荐使用-f参数来强制删除一个存在容器依赖的镜像。 正确的做法是,先删除依赖该镜像的所有容器, 再来删除镜像。

4、docker  tag  ubuntu:latest  myubuntu:latest ——为本地镜像任意添加新的标签

5、 docker  search  nginx  ——搜索官方仓库中的镜像

6、docker  build  -t  myapp:v1  . ——构建镜像

7、docker  save  myapp:v1  >  myapp.tar ——导出镜像

8、docker  load  <  myapp.tar ——从文件导入镜像

 

容器管理:

1、docker  run  web  /bin/echo  "hello , world !! " ——创建容器并输出字符串

当利用 docker  run 来创建并启动容器时, Docker 在后台运行的标准操作包括:

  • 查本地是否存在指定的镜像,不存在就从公有仓库下载;
  • 利用镜像创建一个容器,并启动该容器;
  • 分配 一个文件系统给容器,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去;
  • 从网桥的地址池配置一个 IP 地址给容器;
  • 执行用户指定的应用程序;
  • 执行完毕后容器被自动终止。

2、docker  run  -it  web  /bin/echo  "hello , world !! "  ——启动一个bash终端,允许用户进入交互

-t 选项让Docker 分配一个 伪终端 并绑定到容器的标准输入上,-i 则让容器的标准输入保持打开

3、docker  run  -d  --name  web  nginx ——启动容器(后端运行)

4、docker  exec  -it  web  /bin/bash —— 进入容器交互终端

5、docker  ps  -a ——查看所有容器(包括已停止)

6、docker  stop/pause  web ——停止/暂停容器

7、docker  start  web ——启动已停止的容器

8、docker  rm  web ——删除容器   docker  rm   `docker  ps  -aq` ——删除所有容器

9、docker  logs  web  ——查看容器日志,其他可通过--help 了解

10、docker  export  -o file.tar  name 或  docker  export  name  >  file.tar ——导出容器到 tar文件中。

11、docker  import  file.tar - name/ubuntu:18.04    ——导入容器

12、docker  cp web:/etc/nginx/nginx.conf  ./   ——从容器复制文件到宿主机

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用mermaid查看cursor程序生成的流程图

一、得到cursor生成的流程图文本 cursor写的程序正常运行后&#xff0c;在对话框输入框中输入诸如“请生成扫雷的代码流程图”&#xff0c;然后cursor就把流程图给生成了&#xff0c;但是看到的还是文本的样子&#xff0c;保留这部分内容待用 二、注册一个Mermaid绘图账号 …

蜂鸣器使用

1、蜂鸣器原理 无源蜂鸣器模块根据输入的 不同方波信号&#xff08;作为震荡源&#xff09;可以发出不同的声音。驱动电路中三极管电阻一般为1K-4K都行&#xff0c;能够让三极管导通即可。&#xff08;三极管即带箭头的部分&#xff0c;基极和发射机&#xff08;PNP&#xff09…

15. LangChain实战项目2——易速鲜花海报文案生成

你已经制作好了一批鲜花的推广海报&#xff0c;想为每一个海报的内容&#xff0c;写一两句话&#xff0c;然后 post 到社交平台上&#xff0c;以期图文并茂。 下载 Salesforce/blip-image-captioning-large 图生文模型 通过以下几个命令下载该模型 pip install -U huggingfa…

支持IPD项目管理的9大系统,哪款工具能有效提高项目控制能力

本文介绍了以下9大系统: 1.Worktile&#xff1b; 2. 腾讯敏捷开发平台&#xff08;TAPD&#xff09;&#xff1b; 3. 简道云&#xff08;Jiandaoyun&#xff09;&#xff1b; 4. 蓝鲸智云&#xff08;BlueWhale&#xff09;&#xff1b; 5. 轻流&#xff08;Qingflow&#xff0…

创建一个MCP服务器,并在Cline中使用,增强自定义功能。

MCP介绍 MCP 是一个开放协议&#xff0c;它标准化了应用程序如何向LLMs提供上下文。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种标准化的方法来将您的设备连接到各种外围设备和配件一样&#xff0c;MCP 提供了一种标准化的方法来将 AI 模型连接到不同的…

Linux之yum详解

—— 小 峰 编 程 目录 1、Linux软件的安装方式 2、什么是yum 3、配置网络yum源 4、yum命令 【语法】 【yum常用命令】 1、Linux软件的安装方式 在CentOS系统中&#xff0c;软件管理方式通常有三种方式&#xff1a; rpm安装 、 yum安装 以及 编译安装 。 2、什么是yum…

2025国家护网HVV高频面试题总结来了01(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 0x1 高频面试题第一套 0x2 高频面试题第二套 0x3 高频面试题第三套 0x4 高频面试题第四套 0x5 高频面…

leetcode 59. 螺旋矩阵 II 中等

给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]]示例 2&#xff1a; 输入&#xff1a;n 1 输出&am…

基于Rook的Ceph云原生存储部署与实践指南(下)

#作者&#xff1a;任少近 文章目录 6Ceph资源对像管理6.1查看services6.2查看Jobs6.3 查看deployments.apps6.4查看daemonsets.apps6.5查看configmaps6.6查看clusterroles.rbac.authorization.k8s.io6.7查看clusterrolebindings.rbac.authorization.k8s.io6.8通过cephclusters…

深入浅出 Go 语言:协程(Goroutine)详解

深入浅出 Go 语言&#xff1a;协程(Goroutine)详解 引言 Go 语言的协程&#xff08;goroutine&#xff09;是其并发模型的核心特性之一。协程允许你轻松地编写并发代码&#xff0c;而不需要复杂的线程管理和锁机制。通过协程&#xff0c;你可以同时执行多个任务&#xff0c;并…

常用的api测试软件

我们在写完后端API接口的时候&#xff0c;前端工程师可能还没有写完前端的页面&#xff0c;这时候后端工程师需要测试接口&#xff0c;因此后端开发通常需要api测试软件来测试接口&#xff0c;同时通过测试软件把定义好的接口格式分享文档。 这里推荐两款api测试软件软件&…

深入理解并实现自定义 unordered_map 和 unordered_set

亲爱的读者朋友们&#x1f603;&#xff0c;此文开启知识盛宴与思想碰撞&#x1f389;。 快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 在 C 的标准模板库&#xff08;STL&#xff09;中&#xff0c;unorder…

可商用街头文化艺术海报封面手写涂鸦标题LOGO排版英文字体 FS163 TYPE FACE

Freestyle 163 &#xff08;FS163&#xff09;是一个受街头文化和城市艺术启发的视觉宣言。该字体旨在突出我们的文化和创意根源&#xff0c;反映了街头运动、城市艺术以及来自社会和边缘的故事。 FS163与面临挑战、质疑规范、放大被忽视声音的品牌和个人联系在一起&#xff0c…

【教程】可视化配置多台主机通过交换机实现互联通信

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 场景定义 配置步骤 1. 确认网络接口名称 2. 配置静态 IP 地址 3. 验证连接 主机间速率测试 场景定义 有两台主机通过网线与交换机相连。主…

HTTP/2 服务器端推送:FastAPI实现与前端集成指南

HTTP/2 服务器端推送&#xff1a;FastAPI实现与前端集成指南 注意&#xff1a;本文末尾附有完整示例代码&#xff0c;文中仅展示核心关键代码。完整代码可在GitHub仓库获取。 本文将会讲解HTTP2协议和相关配置实践。但是不要混淆&#xff0c;SSE的实现完全基于HTTP/1.1的持久连…

【CSS—前端快速入门】CSS 常用样式

CSS 常用 CSS 样式 1. 前端样式查询网站&#xff1a; MDN Web Docs (mozilla.org) w3school 2. border 2.1 借助 MDN 了解 border 我们借助 MDN 网站来学习 border 样式的使用&#xff1a; 2.2 border 常见属性 保存代码&#xff0c;打开页面&#xff1a; 对于标签不同样式的…

Autosar精华

应用层(APP) 目标:掌握如何设计软件组件(SWC)及其交互。 软件组件(SWC): 原子级SWC:独立的功能模块(如控制算法、传感器处理)。 端口(Ports):Sender-Receiver(数据传递)、Client-Server(服务调用)。 接口(Interface):定义组件间通信的数据类型(如Autosar …

【AD】AD软件中工具栏无IPC封装向导

问题&#xff1a;点击AD工具栏&#xff0c;无IPC封装向导 解决&#xff1a; 点击后点击install&#xff0c;关闭重启软件

【Python 初级函数详解】—— 参数沙漠与作用域丛林的求生指南

欢迎来到ZyyOvO的博客✨&#xff0c;一个关于探索技术的角落&#xff0c;记录学习的点滴&#x1f4d6;&#xff0c;分享实用的技巧&#x1f6e0;️&#xff0c;偶尔还有一些奇思妙想&#x1f4a1; 本文由ZyyOvO原创✍️&#xff0c;感谢支持❤️&#xff01;请尊重原创&#x1…

MacBook Pro使用FFmpeg捕获摄像头与麦克风推流音视频

FFmpeg查看macos系统音视频设备列表 ffmpeg -f avfoundation -list_devices true -i "" 使用摄像头及麦克风同时推送音频及视频流: ffmpeg -f avfoundation -pixel_format yuyv422 -framerate 30 -i "0:1" -c:v libx264 -preset ultrafast -b:v 1000k -…