【云原生】Docker的基本使用方法与优势

news2025/7/17 17:47:22

在这里插入图片描述

🍬Docker的基本使用方法和优势

  • 🥙一、简介
  • 🥪二、优势
  • 🌮三、基本使用

🥙一、简介

Docker是基于Go语言实现的开源应用容器引擎,通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的应用及其运行环境能够做到 一次封装,到处运行

Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上,当然你也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。我们了解Docker内部构建,需要先了解几个概念:

Docker守护进程:Docker 守护进程运行在主机上。用户并不直接和守护进程进行交互,而是通过 Docker 客户端间接和其通信。

Docker客户端:接收用户的指令并与背后的 Docker 守护进程通信。

Images(镜像):是一个只读模板,镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器,每一个镜像由一系列的层 (layers) 组成。

Containers(容器):Docker 利用容器(Container)独立运行的一个或一组应用,容器是用镜像创建的运行实例,镜像与容器的关系类比面向对象中的类和对象。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

Repository(仓库):仓库是集中存放镜像文件的场所。仓库(Repository)和仓库注册服务器(Registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。仓库分为公开仓库(Public)和私有仓库(Private)两种形式,最大的公开仓库是 Docker Hub。

🥪二、优势

容器类似于 VM,但是它们具有被放宽的隔离属性,可以在应用程序之间共享操作系统(OS)。 因此,容器被认为是轻量级的。容器与 VM 类似,具有自己的文件系统、CPU、内存、进程空间等。可以把容器看做是不用安装操作系统的虚拟机,容器化技术比虚拟机更加灵活,更加小巧,更加极致的利用物理机资源。具有优势如下:

  • 部署快,开发测试更加敏捷
    通过Docker 打包镜像发布测试,一键运行。
  • 一次封装,到处运行
    Docker可以再任意平台运行,设备兼容性很强,这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个平台。
  • 更高的资源利用率
    一台主机可以运行多个个Docker容器,他们之间相互独立。容器除了运行其中的应用外,基本不消耗额外的系统资源。
  • 组建微服务架构
    一台主机可以运行多个容器,故而可以跑多个服务。Docker的容器设计原则:一个容器一个服务,容器之间相互隔离。

🌮三、基本使用

  • 启动Docker
systemctl start docker
  • 搜索镜像
docker search 镜像名称
  • 下载镜像
docker pull 镜像名称  //默认下载latest
docker pull 镜像名称:5.7 //指定版本下载
  • 查看本地的所有镜像
docker images
docker image ls
  • 删除镜像
docker rmi 镜像名称
  • 运行容器
docker run [可选参数] image

参数:
-p:端口映射(宿主机端口:容器端口,即将主机端口映射到容器端口)
-v:容器目录映射到本地目录(宿主机文件目录:容器文件目录,将宿主机文件挂载到容器目录)
-d:后台启动容器
-it:以交互式模式启动容器
–name:容器名称

比如:

docker run -it  
--name verdaccio 
-p 4873:4873   
-v /root/verdaccio/conf:/root/verdaccio/conf   
-v /root/verdaccio/storage:/root/verdaccio/storage
 verdaccio/verdaccio
  • 查看容器
docker ps //查看正在运行的容器
docker ps -a //查看正在运行的容器和历史运行过的容器
  • 删除容器
docker rm 容器id
  • 启动、停止容器
docker start 容器id //启动容器
docker restart 容器id //重启容器
docker stop 容器id //停止当前正在运行的容器
docker kill 容器id //强制停止当前容器
  • 进入到某容器
docker exec -it 容器id /bin/bash //进入当前容器后开启一个新的终端,可以在里面操作
docker attach 容器id  //进入容器正在执行的终端
  • 停止运行中的容器
docker stop 容器id  //停止某个运行中的容器
docker ps -a -q // 停止全部容器
  • 退出某容器
exit//如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器
  • 查看容器日志
docker logs --tail  300 -f  jz-project
  • 容器保存为镜像(当容器启动不起来的时候会使用)
docker commit 容器id 你命名的镜像名称
  • 根据dockerfile创建镜像
docker build -t 你命名的镜像名称  dockerfile所在目录

相关文章:使用Docker搭建Npm私服Verdaccio

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

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

相关文章

配置Mysql与注册登录模块

后端职责可以粗浅的理解为处理各种数据,那么处理数据就可以从下面几个方面考虑: 数据的来源 根据不同的数据来源,我们探究两个方面的内容: 数据的形式 数据的操作 当然,一通操作以后,各个…

操作系统:进程与线程大解析

一文就懂进程与线程一、进程/线程相关概念进程中断并发与并行并发并行线程线程分类多进程和多线程上下文进程上下文进程上下文切换的场景线程上下文扩展:协程线程与协程的区别:协程的优势:二、进程/线程区别与关系进程和线程的区别进程和线程…

【C/C++】你知道位段吗?段位?不,是位段!

本章重点 什么是位段? 位段的内存分配 位段的跨平台问题 位段的应用 上一篇文章我详细介绍了第一种自定义类型--结构体。本章节我们认识一下另外一种自定义类型-- 位段。因为讲解位段时需要用到一点结构体的知识,所以我直接把链接放到这里可按需直接…

Swagger

一、Swagger简介 1.1、前言 前后端分离 Vue SpringBoot 当前主流的前后端分离技术栈 后端时代 前端只用管理静态页面,如html,其余的交给后端,而后端通过模板引擎,如jsp进行管理 前后端分离时代 后端:后端控制层&…

jsp健身房会员管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 健身房会员管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,…

S7-200SMART PLC模拟量应用及创建库文件的具体方法

S7-200SMART PLC模拟量应用及创建库文件的具体方法 具体使用方法可参考以下内容: 模拟量计算公式: OUT = (In_chx - In_RawMin) * (In_EuMax - InEuMin) / (In_RawMax -In_RawMin) + In_EuMin 其中: OUT:转换后的实际值; In_chx:模拟量采集值; In_RawMax:原始数据的最大…

小侃设计模式(九)-组合模式

1.概述 组合模式(Composite Pattern)又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层析关系,使用户对单个对象和组合对象具有一致的访问性,是结构型设计模式的一…

Windows下一键搭建MBP系统,支持多种版本任意选择,免费永久使用,多系统使用新方案

Windows下一键搭建MBP系统,支持多种版本任意选择,免费永久使用,多系统使用新方案。 安装起来相当的简单,简单到只需要执行一行命令即可完成。使得游戏和开发可以兼顾,并且不用花费数万米的可以使用MBP。不仅如此,经过各项专业的测试,还有接近于原生的MBP系统性能。 效…

WinHex(二)

目录 1.我们打开WinHex,点击打开磁盘按钮 2.不同的文件在WinHex中有不同的文件显示 3.WinHex简单使用 4.删除之前所创建的虚拟磁盘 1.我们打开WinHex,点击打开磁盘按钮 2.不同的文件在WinHex中有不同的文件显示 3.WinHex简单使用 4.删除之前所创建的虚拟…

Java—Double类型进行加减乘除出错(精度)问题

前言: 我们知道,计算机在计算数据过程中都要先把源代码翻译成二进制的机器码,然后再进行相关的运算。然而在转换的过程中,有些十进制数无法用一个有限的二进制数来表示,就是说转换的时候出现了精度的丢失问题&#xff…

模型部署遇到的问题

1.不是有效的Win32应用程序 更改项目中的配置类型: 从网上下载的工程,之前人家是用来封装成库(dll)的,改成exe就好了。 vs学习问题 关于打开程序时不是有效的Win32应用程序_Lay_Nobody的博客-CSDN博客_vs不是有效的wi…

Spring Boot开发之SpringSercurity(续)

Spring Boot开发之SpringSercurity 一、授权1、打开上次项目以及数据库2、有的页面不登录也能访问,比如首页、登录以及注册等,因此对于某些请求不需要登录则放行这些接口(1)修改MySercurityConfig(2)修改TestController类(3)点击运行,在没登录…

数据抓取工具有哪些-数据抓取工具免费推荐的有哪些

随着社会的进步,科技的发展。不管是企业还是个人都清楚地明白了数据的重要性。不仅可以让我们掌握一手资源,同时还能通过数据更清楚竞争对手。同时也告别了手动复制粘贴的痛苦。 企业人员 通过爬取动态网页数据分析客户行为拓展新业务,分析…

java毕业设计健民中医药方网设计(附源码、数据库)

项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven Vue 等等组成,B/…

NC5 二叉树根节点到叶子节点的所有路径和

描述 给定一个二叉树的根节点root,该树的节点值都在数字0−9 之间,每一条从根节点到叶子节点的路径都可以用一个数字表示。 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点 2.叶子节点是指没有子节点的节点 3.路径只能从父节点到子节点…

java命令中的options

1. Java命令概述 安装JDK时,会使用java -version查看JDK版本,并验证安装是否成功直接输入java,会给出java命令的使用说明 -options:可选,java命令的命令行选项,多个选项使用空格分隔class:要启…

新人一看就懂:Dubbo3 + Nacos的RPC远程调用框架demo

文章目录一、前言Feign和Dubbo到底有啥区别,为啥大厂都爱用RPC框架?二、简介三、dubbo-api(对外暴漏的接口)1、pom依赖2、TestService接口四、dubbo-provider(服务提供者)1、pom依赖2、TestServiceImpl实现…

HCIP-Datacom OSPF进阶(一) 最常用的动态路由协议

目录 OSPF:开放式最短路径优先 OSPF配置方法: OSPF报文头部: OSPF报文类型: OSPF状态机: DR与BDR的作用: 设置选举DR时的优先级: OSPF的网络类型: 修改OSPF接口网络类型命令…

java毕业设计教学平台(附源码、数据库)

项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven Vue 等等组成,B/…

Java实现五子棋小游戏(附源码)

Java进阶学习专栏:【Java】进阶篇 Java基础学习专栏:【Java】基础篇 文章目录一、游戏介绍二、效果展示三、代码展示1、登录页面2、算法程序3、棋盘实现四、资源下载五、文末总结一、游戏介绍 今天给大家分享一个用java写的小游戏——《五子棋》 &#…