当前位置: 首页 > news >正文

docker的简单使用

文章目录

  • docker简介
  • docker架构
  • 镜像和容器
  • 镜像有关的常用命令
  • 容器相关常用命令

docker简介

Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。

Docker可以让开方子打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux上也可以实现虚拟化。

docker架构

Docker运行时分为Docker引擎(也叫服务端守护进程就是下图的Docker daemon)和客户端工具,各种docker命令就是在使用客户端工具和docker引擎进行交互。

image.png

docker时C/S架构的服务器,客户端向守护进程发出请求,守护进程完成请求并返回结果。

docker的服务器和客户端可以运行在同一台宿主机上,也可以分开运行。

镜像和容器

Image(镜像):镜像就是一个Linux的文件系统,文件系统包含可以运行在Linux内核的程序以及相应的数据。

通过镜像启动容器,镜像就像可执行的包,其中包括运行应用程序所需要的所有内容:包含代码、运行时间、库、环境变量和配置文件。

Container(容器):镜像和容器的关系,就像类和实例,镜像是静态的定义,容器时镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停。

镜像分层:docker可以在基础镜像上安装一些软件来扩展镜像

image.png

可以写的容器层:当容器启动时,一个新的可写层被加载到了镜像的顶部。这一层通常被称为容器层,容器层之下的都叫镜像层。

所有对容器的改动-无论添加、删除还是修改文件都只会发生在容器层中。只有容器层时可写的,容器层下面的所有镜像层都是只读的。

容器层保存的时镜像变化的部分,不会对镜像本身进行任何修改。

总结就是容器层是记录的镜像层的修改,所有镜像层都是只读的,不会被容器修改,所有镜像可以被多个容器共享。

镜像有关的常用命令

docker实际上是有一个提供各种镜像的远程仓库docker hub

下载镜像

docker pull name:tage

docker pull ubuntu:20.04 现在被墙了,没办法从docker hub下载镜像了,可以配置一下

vim /etc/docker/daemon.json

将下面代码粘贴到上面文件

{"registry-mirrors": ["https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com","https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://your_preferred_mirror","https://dockerhub.icu","https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]
}

重新加载docker配置文件

systemctl daemon-reload

重启docker服务

systemctl restart docker.service

查看本地的镜像

docker images

删除一个镜像

docker image rm name:tagdocker rmi name:tag

创建一个container的镜像

docker [container] commit CONTAINER IMAGE_NAME:TAG

将镜像导出成为一个本地文件

docker save -o filename.tar IMGE_NAME:TAG

将镜像从文件中加载出来

docker load -i filename.tar

容器相关常用命令

根据一个镜像创建容器

docker create -it IMAGE_NAME:TAG

显示正在运行的容器

docker ps

显示所有容器

docker ps -a

启动容器

docker start CONTAINER

停止容器

docker start CONTAINER

重启容器

docker restart CONTAINER

创建并启动一个容器

docker run -itd ubuntu:20.04

进入容器

docker attach CONTAINER

退出并挂起容器

ctrl + p然后ctrl + q

退出容器并关闭

ctrl + d

在容器中执行命令

docker exec CONTAINEE COMMAND

删除容器

docker rm CONTAINER

将容器导出为文件.tar

docker export -o xxx.tar CONTAINER

将本地的tar文件导入成镜像并为镜像命名

docker import xxx.tar image_name:tag

export/import 会丢弃历史记录和元数据信息,仅保留当时容器的快照状态

save/load会 保存完整记录,体积更大

查看某容器内的全部进程

docker top CONTAINER

查看某容器内的统计信息

docker stats

本地和容器之间的数据交换

docker cp xxx CONTAINER:xxx
docker cp CONTAINER:xxx xxx

重命名容器

docker rename CONTAINER1 CONTAINER2

修改容器限制

docker update CONTAINER --memory 500MB

相关文章:

docker的简单使用

文章目录 docker简介docker架构镜像和容器镜像有关的常用命令容器相关常用命令 docker简介 Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。 Docker可以让开方子打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到…...

Selenium:强大的 Web 自动化测试工具

Selenium:强大的 Web 自动化测试工具 在当今的软件开发和测试领域,自动化工具的重要性日益凸显。Selenium 就是一款备受欢迎的 Web 自动化测试工具,它为开发者和测试人员提供了强大的功能和便利。本文将详细介绍 Selenium 是什么&#xff0c…...

设计模式 在PLM系统的应用场景介绍

通义灵码 设计模式在 PLM(产品生命周期管理)系统中扮演着重要的角色,可以帮助开发人员更好地组织代码、提高系统的可维护性和扩展性。以下是一些常见的设计模式及其在 PLM 系统中的应用场景: 1. 单例模式(Singleton …...

C#请求https提示未能为 SSL/TLS 安全通道建立信任关系

System.Net.WebException: 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系 ,这个错误通常表明你的应用程序在尝试建立一个安全的 SSL/TLS 连接时遇到了问题。这通常是由于证书验证失败引起的。证书验证失败可能有几个原因: 证书不受信任&#…...

【人工智能】GaussDB数据库技术及应用

文章目录 前言一、数据库的基本概念及发展演进1、数据库概念DB2、数据库管理系统概念DBMS3、数据库与数据库管理系统的关系4、数据库的演进及发展5、数据模型的基本概念6、数据模型的要求和类型7、层次模型的基本概念8、网状模型的基本概念8、关系模型的基本概念9、非关系模型的…...

OpenAI12天 –第3天的实时更新,包括 ChatGPT、Sora、o1 等

OpenAI提前开启了假期,推出了为期 12 天的活动,名为“OpenAI 12 天”。在接下来的一周左右的每一天,OpenAI 都将发布现有产品的新更新以及新软件,包括备受期待的 Sora AI 视频生成器。 OpenAI 首席执行官 Sam Altman 表示&#x…...

删除Yocto中build-x9hp_ms_a12_vemmc_ap2/tmp/work/aarch64-sdrv-linux/package后再编译出错问题

前言: 在yocto编译中,一般会添加自己的package并编译打包到yocto里去。这个包里的内容有时候需要添加或者删除。但是我删除了文件,在编译完成烧录到板子上,里面还有自己删除的文件,于是就在yocto搜索哪个目录有该文件&…...

2024三掌柜赠书活动第三十五期:Redis 应用实例

目录 前言 Redis操作都会,却不知道怎么用? 关于《Redis 应用实例》 编辑推荐 内容简介 作者简介 图书目录 《Redis 应用实例》全书速览 拓展:Redis使用场景 实例1:缓存应用 场景描述 实现方法 具体代码示例 实例2&a…...

观察者模式的理解和实践

引言 在软件开发中,设计模式是开发者们为了解决常见的设计问题而总结出来的一系列最佳实践。观察者模式(Observer Pattern)是其中一种非常经典且使用率极高的设计模式。它主要用于定义对象之间的一对多关系,使得当一个对象的状态发…...

查看Windows系统上的Redis服务器是否设置了密码

查看 Redis 配置文件 1.找到 Redis 配置文件: 通常Redis配置文件名为 redis.windows.conf 或 redis.conf,它位于Redis安装目录中。 2.打开配置文件: 使用文本编辑器(如Notepad、VS Code等)打开该文件。 3.查找 re…...

认识Java中的异常(半成品)

1.异常的概念与体系结构 1.1在Java中,将程序执行过程中发生的不正常行为称为异常.比如 1.算数异常 public class Main1 {public static void main(String[] args){System.out.println(10/0);} } //异常信息为:Exception in thread "main" java.lang.ArithmeticExc…...

生成SSH秘钥文件

git生成文件命令 # 配置用户名和邮箱 git config --global user.name "你的GitHub用户名" git config --global user.email "你的GitHub邮箱"# 生成ssh-key ssh-keygen -t rsa -C “你的GitHub邮箱" # 验证 ssh -T gitgithub .com 第一步:…...

wsl2子系统ubuntu发行版位置迁移步骤

默认的wsl2发行版是安装在windos的c盘,占用空间较大,有迁移需求,也可以迁移到其他电脑; 查看现有发行版信息 运行以下命令查看现有的 WSL 发行版及其状态: wsl --list --verbose# 输出示例NAME STATE …...

协程设计原理与实现

协程设计原理与汇编实现 同步与异步 对于任何一个事情,都可以划分为不同的步骤。所谓同步,就先做第一个事情,按照这件事的步骤完成这件事之后,再去做第二件事。再去做第三件事,以此类推。 异步就是,可以…...

合并区间C和C++的区别、布尔、整型、浮点、指针类型和0做比较、malloc、calloc、realloc的区别

56. 合并区间 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& intervals) {//先按照每个区间的左元素排序&#xff0c;这样每个区间的左边界就固定了&#xff0c;所以之后考虑相邻的//区间是否是相交的就行 类似与栈的…...

Flutter 图片编辑板(一) 事件路由

一个图片编辑板&#xff0c;有两部分组成。编辑板和内容项。每一个内容项是被InteractiveViewer修饰的widget&#xff0c;具有缩放偏移的功能。 在图片编辑板上&#xff0c; 会有多个内容相&#xff0c;图片或文字&#xff08;添加文字目前还没做过&#xff09;。 当要编辑其中…...

【Java】—— 图书管理系统

基于往期学习的类和对象、继承、多态、抽象类和接口来完成一个控制台版本的 “图书管理系统” 在控制台界面中实现用户与程序交互 任务目标&#xff1a; 1、系统中能够表示多本图书的信息 2、提供两种用户&#xff08;普通用户&#xff0c;管理员&#xff09; 3、普通用户…...

数据库基础入门:从零开始学习数据库的核心概念

数据库是现代软件开发的核心组成部分之一&#xff0c;无论是网站、手机应用还是企业管理系统&#xff0c;都离不开数据库的支持。本文将带你从零开始&#xff0c;逐步了解数据库的基本概念和常见操作。 什么是数据库&#xff1f; 数据库&#xff08;Database&#xff09;是一个…...

Y20030002 微信+Java+Jsp+Servlet+MySQL的问卷调查小程序的设计与实现 源代码 配置文档 全套资料

问卷调查微信小程序 1.摘要2. 系统开的背景和意义3. 国内外研究现状4. 系统功能5.界面展示6.源码获取 1.摘要 摘 要&#xff1a;本文深入研究并实现了一个基于微信小程序的问卷调查系统。微信小程序问卷调查系统借助于微信小程序的便捷性和普及性&#xff0c;为用户提供了一个…...

ros项目dual_arm_pick-place(urdf文件可视化查看)

前言 一直想写一些项目的讲解&#xff0c;今天&#xff08;2024.12.05&#xff09;可以说正式开始了。 dual_arm_pick-place项目&#xff0c;是关于两个机械臂协同传递物品。 正文 这次的话&#xff0c;给大家讲一下里面的urdf文件。 这篇文章主要来看一下项目中的urdf文件…...

三步搞定QQ空间历史说说备份:GetQzonehistory完整使用指南

三步搞定QQ空间历史说说备份&#xff1a;GetQzonehistory完整使用指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还在担心QQ空间的珍贵回忆会丢失吗&#xff1f;GetQzonehistory是…...

工业相机图像获取:RAW 图像如何保存和显示,附海康Basler堡盟相机代码

工业相机RAW图像保存显示&#xff0c;海康/Basler/堡盟代码直接抄 阅读提示&#xff1a;本文偏向工业视觉入门实操&#xff0c;避开晦涩理论&#xff0c;聚焦RAW图像的保存、显示落地方法&#xff0c;附带三大主流工业相机品牌的实测代码&#xff0c;适合视觉工程师、调试新手快…...

跨品牌路由器桥接实战:TP-LINK(AC1200)与FAST(FWR303)混合组网方案

1. 为什么需要跨品牌路由器桥接&#xff1f; 家里WiFi信号差是很多人的痛点。我去年搬进新家时就遇到这个问题——书房和卫生间经常只有一格信号&#xff0c;视频通话卡成PPT。后来发现是承重墙太多&#xff0c;单一路由器根本穿不透。换更贵的路由器&#xff1f;成本太高。拉…...

Pi0机器人控制中心RTOS集成:实时任务调度优化

Pi0机器人控制中心RTOS集成&#xff1a;实时任务调度优化 1. 引言 在机器人控制系统中&#xff0c;实时性往往决定着整个系统的可靠性和性能。Pi0机器人控制中心作为一个复杂的多任务系统&#xff0c;需要同时处理传感器数据采集、运动控制、决策规划等多个关键任务。在实时操…...

终极CoreUI Bootstrap管理模板:5个导航组件实战技巧提升用户体验

终极CoreUI Bootstrap管理模板&#xff1a;5个导航组件实战技巧提升用户体验 【免费下载链接】coreui-free-bootstrap-admin-template coreui/coreui-free-bootstrap-admin-template: CoreUI-Free-Bootstrap-Admin-Template 是一套免费的Bootstrap 4/5管理模板&#xff0c;包含…...

PCL2启动器游戏启动故障处理:症状分析与系统性解决方案

PCL2启动器游戏启动故障处理&#xff1a;症状分析与系统性解决方案 【免费下载链接】PCL 项目地址: https://gitcode.com/gh_mirrors/pc/PCL 故障现象&#xff1a;典型场景与表现特征 场景一&#xff1a;权限验证失败 启动器主界面加载正常&#xff0c;但点击"启…...

高可用(HA)架构的商业价值:从技术冗余到业务连续性的战略升级

在大型企业数字化转型进入深水区的今天&#xff0c;ERP、CRM、OA、BI工具等核心系统已成为业务运转的“生命线”&#xff0c;系统中断哪怕是分钟级&#xff0c;都可能引发业务停滞、数据泄露、合规违规等连锁风险&#xff0c;直接损害企业商业利益与品牌声誉。高可用&#xff0…...

别急着扔!用Windows虚拟内存和这几招,让老电脑再战三年(附SSD选购建议)

让老旧电脑重获新生的5个关键策略与SSD选购指南 老旧电脑卡顿到让人抓狂&#xff1f;先别急着换新机。我的邻居张叔上周还抱怨他那台2015年的联想笔记本"慢得像蜗牛"&#xff0c;经过一番优化后&#xff0c;现在居然能流畅运行Photoshop处理照片。本文将分享一套系统…...

5V低压开环FOC驱动器:低成本实现微型电机流畅控制

1. 5V低压开环FOC驱动器的核心价值 对于很多电子爱好者和小型项目开发者来说&#xff0c;控制微型电机常常会遇到两个难题&#xff1a;要么控制方案太贵&#xff0c;要么效果不够理想。我自己在开发桌面旋转展示台时就深有体会——市面上的驱动器要么价格高昂&#xff0c;要么体…...

【Android Framework 实战】记一次 SurfaceFlinger 黑屏死机惨案:一个 static 解决的性能血案

【Android Framework 实战】记一次 SurfaceFlinger 黑屏死机惨案:一个 static 解决的性能血案 在 Android 系统的深度定制中,多设备兼容和屏幕旋转往往是深水区。最近在某 AOSP 平台的项目开发中,我遭遇了一个因为一行代码拖死整个 SurfaceFlinger 渲染线程导致的黑屏惨案。…...