Docker基础(从一脸懵到入门)

1、使用Docker部署Onlyoffice 实习生的骚操作 刚开始实习,公司就要我修改onlyoffice,最好是把源码拿来,改成自己公司的,但作为新人小白,源码什么的怎么下都不知道,环境配置也是一脸懵逼,想要在一定时间内做出来,那是基本上不可能,网上的那些二次开发资料少不说,而且各种看不懂,于是只好通过修改镜像,强行无脑的将其弄出来,能够使用就行了,这里总接一下我这几天的经验! 1、配置虚拟机 将onlyoffice部署到本地也能做,但好像更复杂一点,所以为了简单起见,直接去Vmware官网下一个虚拟机,当然你也可以在别的地方下。 https:// 阅读详情

1.Docker简介

一.什么是虚拟化技术

      虚拟化技术是一种计算机资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来。虚拟化技术打破了计算机实体结构间的,不可切割的障碍。使用户可以比原本的组态更好的方式,来应用这些资源。

    虚拟化技术主要作用:

    高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件

    软件跨环境迁移问题(代码的水土不服)

二.什么是Docker

     官网地址:https://www.Docker.com

     Docker通俗的讲是服务器中高性能的虚拟机,可以将一台物理机虚拟N多台虚拟机的机器,互相之间隔离,互不影响。

      第一句,是“Build, Ship and Run”。也就是,“搭建、发送、运行”,三板斧。

      第二句口号就是:“Build once,Run anywhere(搭建一次,到处能用)”。

     Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

 

三.Docker与虚拟机的比较

    Docker 和传统虚拟化方式的不同之处,可见Docker是在操作系统层面上实现虚拟

化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。

四.Docker基本概念

图示帮助理解:

 

Docker 的几个核心概念如下,也可结合图示理解

宿主机:安装Docker守护进程的Linux服务器,称之为宿主机;

镜像(Image):Docker 镜像,就相当于是一个 root 文件系统。除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。

容器(Container):镜像运行之后的实体,镜像和容器的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):仓库可看成一个镜像控制中心,用来保存镜像。

容器和镜像的区别?

要点:容器 = 镜像 + 可读层。并且容器的定义并没有提及是否要运行容器

总结:可以理解镜像是文件,容器是进程。容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件(镜像就是容器的系统文件),这里的文件包括进程运行所需要的可执行文件,依赖软件,库文件,配置文件等等。也可以将容器看做是镜像运行的一个实例,或者是文件与进程的关系。

  每运行一个容器,都会在镜像上加一个可写层,但这一层并不会改变镜像本身,这也就是为什么,有时候你如果同一个镜像,启动多个容器,里面的内容不会变,但是如果将可写层持久化,就要通过commit命令来把可写层写到磁盘,即生成新的镜像。

 

2.Docker安装与启动常用命令

 (1)查看电脑上已经已经安装Docker

    yum list installed | grep docker

(2)安装docker

    yum -y install docker

(3)安装后查看docker版本

    docker -v

 

(4)systemctl命令是系统服务管理器指令

启动docker:systemctl start docker

停止docker:systemctl stop docker

重启docker:systemctl restart docker

查看docker状态:docker info

开机启动:systemctl enable docker

查看docker帮助文档:docker --help

 

3.Docker镜像常用命令

一.配置镜像加速器

  默认情况,将从docker hub(https://hub.docker.com/)下载docker镜像太慢,一般都会配置镜像加速器;

  方案一:中科大

中国科学技术大学(ustc)是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。

编辑该文件:   

vi  /etc/docker/daemon.json

在该文件中输入如下内容

{

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]

}

方案二:阿里云

如果中科大镜像加载速度很慢,建议配置阿里云镜像加速,这个镜像仓库如果不好使,可以自己从阿里云上申请!

{

 "registry-mirrors": ["https://3ad96kxd.mirror.aliyuncs.com"]

}

必须要注册,每个人分配一个免费的docker镜像加速地址,速度极快

配置完成记得刷新配置

 

sudo systemctl daemon-reload

sudo systemctl restart docker

二.镜像常用命令

查看镜像 docker images

搜索镜像 docker search imageName

拉取镜像 docker pull imageName:version

删除镜像 docker rmi imageId rmi-->remove Image

4.Docker容器常用命令

查看容器

     查看正在运行的容器:docker ps

     查看所有容器(查看正在运行的和已经停止运行的) docker ps -a    或者docker ps -all

     查看最后一次运行的容器: docker ps -l

     查看停止的容器:docker ps -f status=exited

创建容器:交互式、守护式

      交互式: docker run -it --name=容器名称 镜像名称:标签 /bin/bash

      守护式: docker run -di --name=容器名称 镜像名称(或镜像ID):标签 /bin/bash

登录容器/进入容器的目录:

      docker exec -it 容器名称 (或者容器ID) /bin/bash

启动容器: docker start 容器名称(或者容器ID)

停止容器: docker stop 容器名称(或者容器ID)

删除容器docker rm 容器名称(或者容器ID)

5.Docker数据卷

一.概述

  数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方的修改会立即同步。一个数据卷可以被多个容器同时挂载,一个容器也可以被挂载多个数据卷。简单来说数据卷本质其实是共享文件夹,是宿主机与容器间数据共享的桥梁。

二. 数据卷作用

  容器数据持久化。

  外部机器和容器间接通信。

  容器之间数据交换。

三.数据卷配置方式

(1)1个容器挂载1个数据卷

注意事项:

1. 目录必须是绝对路径

2. 如果宿主机目录不存在,会自动创建

3. 可以挂载多个数据卷

 案例:

 

#拉取centos镜像

docker pull centos:7

#安装启动容器并挂载

docker run -di --name=c1 -v /root/host_data1:/root/c1_data centos:7 /bin/bash

(2)查看容器已挂载的数据卷

docker inspect 容器名称(容器ID)

 

(3).1个容器挂载多个数据卷

可以通过以下命令,挂载多个数据卷

docker run -di --name=c1 -v /root/host_data1:/root/c1_data1 -v

/root/host_data2:/root/c1_data2 centos:7 /bin/bash

(4).多个容器挂载1个数据卷

多个容器挂载1个数据卷,实现数据共享

docker run -di --name=c2  -v /root/host_data_common:/root/c2_data centos:7

docker run -di --name=c3  -v /root/host_data_common:/root/c3_data centos:7

多个容器挂载1个容器(这个容器挂载1个数据卷)

##创建启动c3数据卷容器,使用 –v 参数 设置数据卷

docker run -di --name=c3 -v /root/host_data_common:/root/c3_data centos:7

/bin/bash

##创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷

docker run -di --name=c1 --volumes-from c3 centos:7 /bin/bash

docker run -di --name=c2 --volumes-from c3 centos:7 /bin/bash

写在最后:接下来几个系列将会讲解

Docker中安装Mysql

ElasticSearch,Kibana环境搭建

Kafka 环境搭建

OKCC呼叫中心部署实战指南:从零搭建高效外呼系统 本文提供OKCC呼叫中心系统的完整部署实战指南,从服务器选型、操作系统准备到详细安装步骤和性能优化,帮助企业从零搭建高效外呼系统。重点介绍FreeSWITCH核心组件的安装配置技巧,以及常见问题排查方法,助力企业提升客户服务效率。 阅读详情

相关推荐

用Zotero+B站Kimi,我如何把一篇顶会论文快速做成组会PPT(含完整提示词)

本文介绍如何利用Zotero和Kimi快速将顶会论文转化为组会PPT,提升学术汇报效率。通过Zotero的文献管理插件和Kimi的AI提炼技术,实现从论文阅读到PPT生成的全流程自动化,帮助研究者在90分钟内完成高质量汇报准备。

weixin_30955617的博客 500

Docker小白入门教程--docker理解与实战(懵逼三连--Docker是什么,为什么要使用Docker,如何使用Docker?)

站在巨佬的肩膀上,才能看的更远!(没错这篇文章就是大量援引国内外网上各位大佬的博客,外加我这个小菜初入docker的一些理解,整理一下所学,也是为了方便我自己在暑假过完后,被别人问起docker问到我一脸懵逼、不知所措的时候再回来看看...) 这本篇文章的出发点是:从一个小白的角度(几天前的我),尽可能全方位的为您介绍Docker,让您理解并学会它的初步使用,感兴趣的小伙伴还可以通过本篇文章,...

待到春花烂漫时 1万+

CS5511芯片实战:如何用DP转LVDS驱动高刷显示器(附配置代码)

本文详细解析了CS5511芯片在DP转LVDS高刷显示器驱动方案中的应用,包括核心架构、寄存器配置、时序优化及典型问题排查。通过实战案例和配置代码,帮助开发者快速实现120Hz高刷新率显示,特别适合医疗影像和工业HMI等严苛场景。

m3n5b7v8c9x的博客 1077

Docker 学习笔记

其实我是一脸懵逼的   啥玩意啊 暂时还不知道  docker 有啥用 先make  docker 部署mysql 服务 https://blog.youkuaiyun.com/bingzhongdehuoyan/article/details/79412914

窦小雨的小点子 195

GD32F427移植LiteOS-M实战:如何快速复用官方Demo进行二次开发

本文详细介绍了如何在GD32F427开发板上移植LiteOS-M操作系统,通过复用OpenHarmony官方Demo快速构建RTOS工程。文章涵盖环境搭建、芯片配置迁移、中断向量表处理和外设驱动适配等关键步骤,并提供了调试技巧和二次开发进阶建议,帮助开发者高效完成移植工作。

weixin_33736048的博客 415

如何利用三阈值游程理论识别干旱事件_python

如果当前时间点与上一个干旱事件的结束位置相隔不超过一个月(`index - current_event['end_index']

weixin_44259522的博客 1945

《Linux 装 Docker 有多简单?跟着敲一遍,从“一脸懵“到“真香“就差这一篇》

本文是一篇专为 Linux 新手打造的 Docker 实战指南。文章以风趣的比喻开篇,将 Docker 容器比作"在房间里搭帐篷",直观解释了其与虚拟机的区别。内容涵盖 Ubuntu 与 CentOS 系统的 Docker 最新版安装全流程,详细演示了从拉取镜像、启动容器、端口映射到挂载数据卷的各项实操,并贴心总结了新手避坑清单与高频命令速查表。通过搭建 Nginx 网站和编写 Dockerfile 等实战环节,帮助读者彻底摆脱"环境配置地狱",轻松迈入容器化的大门。

c_program113的博客 254

红米12C刷机避坑指南:NV数据损坏的修复与系统版本选择

本文提供了红米12C刷机过程中避免NV数据损坏的详细指南,涵盖系统版本选择、SP刷机工具使用和fastboot命令修复。重点分析了NV数据损坏的原因与表现,并给出通过工程固件和深度修复技巧解决基带未知、IMEI丢失等问题的实操方案,帮助用户安全完成刷机。

cuda7parallel的博客 1075

Docker从入门到放弃一

全文共4670字,阅读时长约4分钟,感谢阅读 1.前言 原本就仅仅只是想浑水摸鱼地写一篇Docker的简单介绍文章,写好后自己觉得索然无味,像是在制造垃圾,现在重新从头捋一遍自己的学习过程,希望能对你们有所帮助 2.Docker是什么 我想每个人,不管是否可以了解过,你或多或少都有听说过Docker的大名,那么Docker到底是什么呢? ​ A container is a standard...

All_Might 548

LoRa模块选型指南:正点原子ATK-LORA-01与SX1278芯片深度评测(含实测距离/功耗数据)

本文深度评测了正点原子ATK-LORA-01与SX1278芯片的性能表现,通过实测数据展示其在复杂环境中的通信距离与功耗表现。特别适合智慧农业、工业监测等物联网应用场景,提供详细的配置指南和优化技巧,帮助开发者实现高效、低功耗的LoRa通信解决方案。

weixin_29191081的博客 290

从开发到生产:Power APP 的应用和编程实践

一旦您在开发环境中完成了应用程序的开发、调试和测试,就可以将其部署到生产环境中供用户使用。在 Power APP Studio 中,您可以选择将应用程序发布到 Power APP 网关或将其嵌入到其他应用程序中。使用 Power APP Studio 内置的调试工具,您可以逐步执行应用程序并查看变量的值,以确保逻辑的正确性。在上述代码中,我们通过将两个文本输入框(TextInput1 和 TextInput2)中的文本转换为数字,并将它们相加,将结果存储在 Result 变量中。

2301_79326510的博客 1504

Docker新手入门

其实Docker的核心逻辑很简单:打包环境,统一运行,不用再跟环境扯皮。新手不用一开始就搞懂所有原理,先把“安装→拉取镜像→启动容器”这一套流程练熟,再慢慢接触Docker Compose(多容器管理)、私有仓库等高级用法。日常开发中,多用Docker运行MySQL、Redis这些中间件,多打包自己的项目,练个2-3次,就能熟练掌握,以后部署项目、分享项目,都会方便很多。最后,如果你在操作中遇到问题,评论区留言,我看到都会回复,一起避坑,一起进步!附:常用镜像地址(直接复制拉取)

pinjuncsdn的博客 460

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

手摸手,带你入门docker

很多新手面对 docker 一脸茫然,于是我想按照自己的理解帮助新手快速入门 docker,便有了下文。如果你了解虚拟机,那么可以对比着理解,计算机的世界里,死记硬背是行不通的,必须理解...

somenzz的博客 487

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【艾叶又飘香,时间近端阳;端午临中夏,Docker开篇日】带你跨入Docker 的世界

作者:半身风雪 简介:今天带大家一起学习一下 ,云原生是什么?当初我听到这个词汇的时候,我也是一脸的懵,满脑子都是星星的那种。然后我在想,这又是什么高大上的东西?和区块链、AI、AR等有什么区别呢?是我们目前能够达到的吗?前景怎么样呢?未来是否可期?等等各种问题,我也请教了一些大佬,咨询相关问题。今天,我将带领大家,一起来敲开云原生神秘的大门。如果你还没有安装了Docker Desktop 开发工具,请点击 这里 跳转至 Docker Desktop 下载地址安装。接下来我们打开自己的终端,并输入:由于我

半身风雪 977

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Docker学习记录(一)-Docker是什么

参考资料 引言 Docker是什么? Docker镜像是什么? Docker容器是什么? Docker镜像和容器之间的关系 我们为什么要使用Docker? 使用Docker mac安装Docker Docker初体验 Docker常用命令 总结 参考资料 百度百科:https://baike.baidu.com/item/Docker/13344470?fr=aladdi...

z1616595的博客 525

Docker 从零到一通俗入门:原理、实战与日常开发案例全解析(万字长文)

docker入门教程。

不当牛马,每天进步一点点。 2281

一文明白docker是什么

文章目录预备知识1 Docker是什么?2 Docker引擎3 Docker的架构4 Docker能做什么?5 Docker的优点6 docker的安装7 Doker 镜像加速7.1 修改加速器源7.2 第二步、服务重启7.3 验证是否配置成功 运维工程师及后端开发人员是肯定需要学习docker的,但是得益于其方便,近些年越来越火,桦桦最近在部署chirp stack服务器的时候,也用到了docker,今天就来谈谈。 网上很多关于docker的教程不能说不行,但是感觉都是去直接搬用官方的概念,根本没有消化就

桦桦的博客 487

Docker快速入门--简单命令

原文链接本文不涉及docker原理,运行机制等话题,只是以最快速的方式上手,之后会有介绍。本人喜欢先做起来,培养兴趣了,不要一开始就是一堆原理,唬的人一脸懵逼。docker hub登陆docker login查看本地所有docker imagesdocker images➜ docker docker images REPOSITORY TAG

明月阁 533

Docker 入门篇及基本原理讲解

容器技术的起源 假设你们公司正在秘密研发下一个“今日头条”APP,我们姑且称为明日头条,程序员自己 从头到尾搭建了一套环境 开始写代码,写完代码后程序员要把代码交给测试同学测试,这时测试同学开始 从头到尾搭建这套环境 ,测试过程中出现问题程序员也不用担心,大可以一脸无辜的撒娇,“明明在人家的环境上可以运行的”。 测试同学测完后终于可以上线了,这时运维同学又要重新 从头到尾搭建这套环境 ,费了九牛二虎之力搭建好环境开始上线,糟糕,上线系统就崩溃了,这时心理素质好的程序员又可以施展演技了,“明明在人家的环境

节操下溢笨狐狸的博客 760

统信UOS安装docker

写在前面的 参考: https://blog.youkuaiyun.com/DekuiCaiNiao/article/details/103954716 https://blog.youkuaiyun.com/qq_38505969/article/details/114304052 https://www.jianshu.com/p/423fcf44a3e7 没什么linux基础,docker也是刚学的,跟着官网装,前三步以后一脸懵逼…网上看了n多博文,勉强装了出来,下面把步骤总结一下,方便后续复用!全程抄袭,我只要效果,不

txy_2018的博客 4528

Docker从入门到放弃?不存在的!这份实战指南让你秒变容器老司机

本文介绍了Docker的实用技巧与核心概念。主要内容包括:Docker的安装方法(Ubuntu/CentOS/Windows/Mac),镜像、容器、仓库等基本概念解析,常用Docker命令(镜像管理、容器操作),以及通过Flask应用演示实际部署流程。重点讲解了数据持久化(卷/绑定挂载)和Docker网络模式(bridge/host/none/container),帮助读者快速掌握Docker的核心功能和使用场景。

qq_31815769的博客 692

Docker系列之入门篇

Dcoker是什么? 概述 Docker 是世界领先的软件容器平台。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发...

weixin_30734435的博客 126

0 基础自学阿里云运维 Docker 保姆级教程(全步骤 + 命令注释 + 实战项目)

0 基础直接跟着操作,一步步构建自己的第一个镜像,全程带注释。

m0_56252021的博客 448

从现在开始学 Kafka:Docker 部署 Kafka 单机版

从现在开始学 Kafka:Docker 搭建 Kafka 单机版前言官方文档关于镜像安装 docker-componse部署编写启动脚本启动 Kafka命令查看脚本创建 Topic查看 Topic生产者生产数据消费者消费数据结语 前言 刚开始学习 Kafka,在什么都不会一脸懵逼的情况下,我选择通过部署单机版的方式,对 Kafka 有个初步认识,同时也会整理相关知识点信息,单独开个文章。 本文服务...

乐之终曲 2583

docker暴露端口、端口映射

前言 在一次面试中,面试官问:docker 暴露一个端口,该怎么做? 一脸蒙,不知道怎么操作的。 参考文章 网络端口映射 为docker容器暴露端口 1. docker暴露端口、端口映射 1.1 iptables 获得容器 IP docker ps # [container_name]为docker容器名称 docker inspect [container_name] | grep IPAddress iptables 转发端口 # 本地主机的端口8001上暴露容器的端口8000 ipt

weixin_45063703的博客 7685

尚硅谷Docker与微服务实战教程发布

一个调皮的小伙问我: 好久不见阳哥,他在闭关练宝典神功? 小样的,Cosplay pig eat tiger! 来尚硅谷,让阳哥唱歌给你听: 小燕子,穿花衣,我问燕子你为啥来? 燕子说,管好你自己。 阳哥一生气,把你做成甜面酱, 蘸着Beijing gagaga吃了。 生活如此美好,世界如此奇妙, 珍惜生命,不要调侃阳哥。 阳哥有多狠,说出来你不敢信。 想当年,阳哥晚上堵住了阳嫂: 我看你有几分姿色, 我心动了, 你自己想办法爱上我。 十四亿人里,只相中了你, 希望你

m0_58371965的博客 907
上一篇: mybatis-plus分写查询有数据但是total和page为0解决办法
下一篇: Lucene基础概念
Crazy Code Farmer
博客等级 码龄10年 315粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值