DOCKER学习总结

这里写目录标题

  • 一、Docker安装
    • 1.1 在线安装
    • 1.2 离线安装
      • 安装配置
      • 启动服务
    • 1.3 配置镜像
    • 1.4 Docker启动相关命令
  • 二、Docker三大核心概念
    • 2.1 镜像
    • 2.2 容器
    • 2.3 仓库
      • 2.3.1 公有仓库
      • 2.3.2 私有仓库
  • 二、容器与虚拟机比较

一、Docker安装

1.1 在线安装

  • 查看是否安装docker
    yum list installed | grep docker
    
    或者用docker -v 查看当前系统版本,来判断是否安装docker
    docker -v
    
  • 安装docker
    yum -y install docker
    
  • Linux默认安装位置
    默认安装路径:/var/lib/docker
    镜像位置:/var/lib/docker/image
    容器位置:/var/lib/docker/containers
  • 启动docker
    systemctl start docker
    

1.2 离线安装

下载安装包

下载地址:https://download.docker.com/linux/static/stable/x86_64/docker-24.0.7.tgz。其它版本可打开以下页面下载https://download.docker.com/linux/static/stable/x86_64/

安装配置

  • 上传压缩包到服务器

  • 解压,tar -xvf docker-24.0.7.tgz

  • 将解压出来的docker文件内容移动到 /usr/bin/ 目录下,cp docker/* /usr/bin/

  • 注册编辑docker服务,vi /etc/systemd/system/docker.service,内容如下

    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target[Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd
    ExecReload=/bin/kill -s HUP $MAINPID
    # Having non-zero Limit*s causes performance problems due to accounting overhead
    # in the kernel. We recommend using cgroups to do container-local accounting.
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    # Uncomment TasksMax if your systemd version supports it.
    # Only systemd 226 and above support this version.
    #TasksMax=infinity
    TimeoutStartSec=0
    # set delegate yes so that systemd does not reset the cgroups of docker containers
    Delegate=yes
    # kill only the docker process, not all processes in the cgroup
    KillMode=process
    # restart the docker process if it exits prematurely
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s[Install]
    WantedBy=multi-user.target
    

启动服务

systemctl daemon-reload
systemctl enable docker && systemctl start docker

1.3 配置镜像

在daemon.json文件中,配置阿里云的镜像加速器地址,如下所示:

{
“registry-mirrors”: [“https://registry.cn-hangzhou.aliyuncs.com”]
}

保存daemon.json文件。

重启Docker服务以应用新的配置:

sudo systemctl daemon-reload
sudo systemctl restart docker

1.4 Docker启动相关命令

  • 启动docker
    systemctl start docker
    
  • 停止docker
    systemctl stop docker
    
  • 重启docker
    systemctl restart docker
    
  • 查看docker状态
    systemctl status docker
    

二、Docker三大核心概念

  Docker的三大核心概念是镜像(Image)、容器(Container)和仓库(Repository)。

2.1 镜像

  镜像是一个只读的模板,用来创建Docker容器。里面包含一个完整的操作系统环境,里面包含了程序和必要的以来文件。

  • 查看镜像
    docker images
    
  • 搜索镜像
    docker search 镜像名称
    
  • 拉取镜像
    docker pull 镜像名称
    
  • 删除镜像
    docker rmi 镜像ID
    
  • 删除所有镜像
    docker rmi `docker images -q`
    

2.2 容器

  容器是从镜像创建的运行实例,可以运行、开始、停止、删除等。每个容器是相互隔离的、保证安全的平台。

  • 查看正在运行的容器
    docker ps 
    
  • 查看所有容器
    docker ps -a
    
  • 查看最后一次运行的容器
    docker ps -l
    
  • 查看停止的容器
    docker ps -f status=exited
    
  • 停止与启动容器
    docker start 容器名称(或者容器ID)
    
    docker stop 容器名称(或者容器ID)
    
  • 交互式方式创建容器
    docker run -it --name=容器名称 镜像名称:标签 /bin/bash
    
    exit
    
  • 守护式方式创建容器
    docker run -di --name=容器名称 镜像名称:标签
    
    登录守护式容器方式
    docker exec -it 容器名称 (或者容器ID)  /bin/bash
    

2.3 仓库

  仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上 往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的 标签(tag)。仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

2.3.1 公有仓库

  公有仓库是指可以供用户面免费使用的Docker镜像仓库,用户可以在其中存储和分享自己的Docker镜像。Docker官方提供了Docker HUb公有仓库,其中包含了大量的Docker镜像,用户可以通过搜索和下载这些镜像来快速部署和运行应用程序。

2.3.2 私有仓库

  私有仓库是指用户自己搭建的Docker镜像仓库,用于存储和管理自己的Docker镜像。相比于公有仓库,私有仓库更加安全和可控,用户可以完全掌控自己的镜像,避免了公有仓库的镜像被篡改或者存在漏洞而导致的安全问题。
  私有仓库可以部署在本地服务器或者云服务器上,用户可以根据自己的需求进行扩容和优化。
  Docker官方提供了Docker Registry作为私有仓库的解决方案,用户可以在其中搭建自己的私有仓库。使用私有仓库可以提高应用程序的安全性和可控性。

  • 安装Docker Registry
    Docker Registry是Docker 官方提供的镜像仓库,可以用来搭建私有仓库。可以通过命令来拉取Docker Registry镜像:

    docker pull registry
    
  • 运行Docker Registry容器
    可以通过命令来运行Docker Registry容器:

    docker run -d -p 5000:5000 --name  registry registry
    

    其中,-p 5000:5000表示将容器内部的5000端口映射到主机的5000端口,–name registry表示指定容器的名称为 registry 。

  • 配置Docker客户端
    在使用私有仓库时,需要在Docker客户端配置私有仓库的地址,可以通过命令来:

    echo '{"insecure-registries":["<私有仓库地址>:<端口号>"]}' > /etc/docker/daemon.json
    

    配置完成后,需要重启 Docker 服务:
    ```
    docker restart docker

  • 推送和拉取镜像
    配置完成后,就可以使用docker push命令在推送镜像到私有仓库,使用docker pull命令来从私有仓库拉取镜像,docker tag 为镜像打上标签。

    docker tag <镜像名称> <私有仓库地址>:<端口号>/<镜像名称>
    
    docker push <私有仓库地址>:<端口号>/<镜像名称>
    
    docker pull <私有仓库地址>:<端口号>/<镜像名称>
    

二、容器与虚拟机比较

下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。
在这里插入图片描述

特性容器虚拟机
启动速度极快(通常在几秒内)
资源占用轻量(共享主机内核)重(每个VM有独立OS,资源消耗大)
隔离性中等(共享内核,但进程隔离)高(完全隔离,每个VM独立运行)
移植性高(能在不同环境中一致运行)中等(依赖于hypervisor及OS)
管理工具Docker, Kubernetes等VMware, Hyper-V, KVM等
性能指标容器虚拟机
启动时间几秒几分钟
内存占用20MB-50MB512MB-2GB
CPU占用率较高
实例数50+5-10
用例容器虚拟机
微服务架构适合,轻量级和灵活性高可行,但不如容器高效
开发与测试快速部署和环境一致性隔离性强,适合测试多个操作系统
大规模部署理想选择,易于扩展和管理适用于复杂应用和遗留系统
处理敏感数据需额外安全措施适合,安全隔离性强

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

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

相关文章

深入浅出体验AI生图产品Dall-E

DALL-E是由OpenAI开发的一种革命性的AI图像生成工具&#xff0c;能够根据文本描述生成图像。它的名字灵感来源于著名画家萨尔瓦多达利&#xff08;Salvador Dal&#xff09;和皮克斯动画电影中的角色瓦力&#xff08;WALL-E&#xff09;&#xff0c;这暗示了其在艺术创造力与技…

OpenCV_Code_LOG

孔洞填充 void fillHole(const Mat srcBw, Mat &dstBw) {Size m_Size srcBw.size();Mat TempMat::zeros(m_Size.height2,m_Size.width2,srcBw.type());//延展图像srcBw.copyTo(Temp(Range(1, m_Size.height 1), Range(1, m_Size.width 1)));cv::floodFill(Temp, Point(…

YOLOv11改进,YOLOv11添加SAConv可切换空洞卷积,二次创新C3k2结构

摘要 作者提出的技术结合了递归特征金字塔和可切换空洞卷积,通过强化多尺度特征学习和自适应的空洞卷积,显著提升了目标检测的效果。 理论介绍 空洞卷积(Atrous Convolution)是一种可以在卷积操作中插入“空洞”来扩大感受野的技术,更有效地捕捉到图像中的大范围上下文…

2024信创数据库TOP30之华为Gauss DB

近日&#xff0c;由DBC联合CIW/CIS共同发布的“2024信创数据库TOP30”榜单正式揭晓&#xff0c;汇聚了国内顶尖的数据库企业及其产品&#xff0c;成为展示中国信创领域技术实力与发展潜力的重要平台。在这份榜单中&#xff0c;华为的GaussDB凭借其卓越的技术实力、广泛的行业应…

【Spring源码核心篇-07】spring事物传播机制的流程和原理

Spring源码核心篇整体栏目 内容链接地址【一】Spring的bean的生命周期https://zhenghuisheng.blog.csdn.net/article/details/143441012【二】深入理解spring的依赖注入和属性填充https://zhenghuisheng.blog.csdn.net/article/details/143854482【三】精通spring的aop的底层原…

Redis实现限量优惠券的秒杀

核心&#xff1a;避免超卖问题&#xff0c;保证一人一单 业务逻辑 代码步骤分析 全部代码 Service public class VoucherOrderServiceImpl extends ServiceImpl<VoucherOrderMapper, VoucherOrder> implements IVoucherOrderService {Resourceprivate ISeckillVoucher…

.NET8/.NETCore 依赖注入:自动注入项目中所有接口和自定义类

.NET8/.NETCore 依赖接口注入&#xff1a;自动注入项目中所有接口和自定义类 目录 自定义依赖接口扩展类&#xff1a;HostExtensions AddInjectionServices方法GlobalAssemblies 全局静态类测试 自定义依赖接口 需要依赖注入的类必须实现以下接口。 C# /// <summary>…

搭建一个基于Web的文档管理系统,用于存储、共享和协作编辑文档

搭建一个基于Web的文档管理系统&#xff0c;用于存储、共享和协作编辑文档 本项目采用以下架构&#xff1a; NFS服务器: 负责存储文档资料。Web服务器: 负责提供文档访问和编辑功能。SELinux: 负责权限控制&#xff0c;确保文档安全。Git服务器: 负责存储文档版本历史&#x…

gitee:创建仓库,存入本地文件至仓库

一、git下载 git:下载与安装-CSDN博客https://blog.csdn.net/weixin_46001736/article/details/144107485?sharetypeblogdetail&sharerId144107485&sharereferPC&sharesourceweixin_46001736&spm1011.2480.3001.8118 二、创建仓库 1、主页面->右上角新增…

计算机网络 —— HTTP 协议(详解)

前一篇文章&#xff1a;网页版五子棋—— WebSocket 协议_网页可以实现websocket吗-CSDN博客 目录 前言 一、HTTP 协议简介 二、HTTP 协议格式 1.抓包工具的使用 2.抓包工具的原理 3.抓包结果 4.HTTP协议格式总结 三、HTTP 请求 1. URL &#xff08;1&#xff09;UR…

关于单片机的原理与应用!

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///目前正在学习C&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于单片…

爬虫专栏第一篇:深入探索爬虫世界:基础原理、类型特点与规范要点全解析

本专栏会对爬虫进行从0开始的讲解&#xff0c;每一步都十分的细致&#xff0c;如果你感兴趣希望多多点赞收藏关注支持 简介&#xff1a;文章对爬虫展开多方面剖析。起始于爬虫的基本概念&#xff0c;即依特定规则在网络抓取信息的程序或脚本&#xff0c;在搜索引擎信息提取上作…

rabbitmq原理及命令

目录 一、RabbitMQ原理1、交换机&#xff08;Exchange&#xff09;fanoutdirecttopicheaders&#xff08;很少用到&#xff09; 2、队列Queue3、Virtual Hosts4、基础对象 二、RabbitMQ的一些基本操作:1、用户管理2、用户角色3、vhost4、开启web管理接口5、批量删除队列 一、Ra…

@antv/x6 再vue中 ,自定义图形,画流程图、数据建模、er图等图形

X6 是基于 HTML 和 SVG 的图编辑引擎&#xff0c;提供低成本的定制能力和开箱即用的内置扩展&#xff0c;方便我们快速搭建 DAG 图、ER 图、流程图、血缘图等应用。 最终效果图 1.安装 npm install antv/x6 --save //x6主要包 npm install antv/x6-vue-shape //使用vue组…

vscode + conda + qt联合开发

安装vscode 安装conda 清华大学开源软件镜像(Anaconda下载)_清华大学镜像-CSDN博客 conda create新建一个环境&#xff0c;激活这个环境&#xff0c;然后安装pyside6 pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装成功后输入 pip list查看是否安装…

debian 11 虚拟机环境搭建过坑记录

目录 安装过程系统配置修改 sudoers 文件网络配置换源安装桌面mount nfs 挂载安装复制功能tab 无法补全其他安装 软件配置eclipse 配置git 配置老虚拟机硬盘挂载 参考 原来去 debian 官网下载了一个最新的 debian 12&#xff0c;安装后出现包依赖问题&#xff0c;搞了半天&…

WPF DataGrid 列隐藏

Window节点加上下面的 <Window.Resources><FrameworkElement x:Key"ProxyElement" DataContext"{Binding}" /></Window.Resources>然后随便加一个隐藏控件 <ContentControl Content"{StaticResource ProxyElement}" Visi…

【实体配置】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…

手机卡限速丨中国移动5G变3G,网速500kb

以下猜测错误&#xff0c;又有新的猜测&#xff1a;河南移动的卡出省限速。可能是因为流量结算。 “2024年7月1日起&#xff0c;中国移动集团内部将开启跨省流量结算” 在深圳四五年了&#xff0c;之前没有过&#xff0c;就从上个月开始。11月底解除限速&#xff0c;12月刚开…

不同云计算网络安全等级

导读云计算的本质是服务&#xff0c;如果不能将计算资源规模化/大范围的进行共享&#xff0c;如果不能真正以服务的形式提供&#xff0c;就根本算不上云计算。 等级保护定级流程 定级是开展网络安全等级保护工作的 “基本出发点”&#xff0c;虚拟化技术使得传统的网络边界变…