Docker安装和使用

news2024/12/26 21:42:32

一:docker安装

链接: https://pan.baidu.com/s/1A1g7rSOMoV4__Me_zJoB3Q?pwd=6bqi 提取码: 6bqi 复制这段内容后打开百度网盘手机App,操作更方便哦 
--来自百度网盘超级会员v4的分享。

二:docker使用

1.docker和虚拟机的区别:

    1.docker启动非常快,但虚拟机很慢。

    2.docker开销小,即占用资源小,虚拟机开销大,即占用资源大。

    3.docker隔离没有虚拟机隔离的彻底。

    4.docker的安全性比不上虚拟机。

2.docker和虚拟机使用场景

    例1:开发将项目发给测试进行测试,此时用docker。

    例2:假设只有一块服务器,此时两人同时并行使用,可以用虚拟机进行隔离,隔离的彻底。

3. docker组成:镜像,容器,仓库

    1.镜像:就是一个文件。

    2.容器:通过一个类创建出一个对象;通过一个镜像创建出一个容器。

    3.仓库:可以看作一个代码控制中心用来保存镜像。

4.Docker:线程,镜像,容器

    1.线程(daemon守护进程):(Ubuntu)(Centos)

        启动docker线程:sudo service docker start

        查看docker的服务状态:sudo service docker status

        停止docker:sudo service docker stop

        重启docker:sudo service docker restart

        设置开机启动docker:sudo service enable docker

5.docker镜像

    镜像:镜像文件就是涵盖了我们所有的该项目所需要的软件,当我们把项目发给别人的时候,只需要把我们通过镜像创建一个容器,就把我们的环境同步了。

    1.查看镜像:sudo docker images:属性:1. 镜像我们的软件(REPOSITORY) 2. 版本(TAG) 3. 序列号(IMAGE ID) 4. 时间(CREATED) 5. 镜像大小(SIZE)。

    2.搜索镜像:sudo docker search + 镜像名  属性:1. 名字 2. 简介 3. stars(同github)4. 是否官方 5. 是否社区。

    3.下载镜像:docker pull + 镜像名:版本号  注:上hub.docker.com寻找版本号。

    4.删除镜像1:docker rmi + (镜像名:版本)或 镜像序列号。

    5.删除镜像2:docker rmi -f (强制删除)+ (镜像名:版本)或 镜像序列号。

    6.查看已有的镜像文件序列号:sudo docker images -q

    7.把查到的镜像文件按照序列号全部删除:docker rmi ·docker images -q·,··是tab上边的键。

6.docker容器

    容器:容器都是通过镜像实例化出来的对象。

    1.docker ps:查看容器,如果容器已经关闭,将查看不到。

    2.docker ps -a:查看历史容器。1. 容器的ID 2. 创建容器依赖的镜像名 3. 控制方式 4. 时间 5. 容器的状态 6.   7. 容器名字。

    3.docker run -it --name=name +centos:7 /bin/bash:通过centos7创建一个容器。

    4.docker run -id --name=n5 centos:7 /bin/bash:通过centos7创建一个容器。

    注意:3和4的区别:

        -it:一创建立马进入了容器,exit后立马关闭容器。

     -id:后台创建容器,创建后不进入,进入的话需要通过docker exec -it name /bin/bash命令进入容器,通过exit退出了之后,也不会自动关闭容器。

    5.exit:退出容器。

    6.docker start + 名字:启动某个容器 。

    7.docker stop + 名字:关闭某个容器。

    8.docker rm + 名字/序列号:删除某个容器,正在运行的容器不能删除。

    9.docker rm -f + 名字/序列号:-f:是参数,强制删除,正在运行的容器也可以删除。

   10.查看容器信息:docker inspect + 名字。

7.数据卷

    问题1:在docker中的数据删除了或者容器坏了,里边的数据还存在吗?

    问题2:容器可以和外部机器直接交换文件吗?

    问题3:容器之间怎么交互数据?

    答案:挂载数据卷。

    1.数据卷:在本机中创建一个目录,在容器中也创建一个目录,然后把这两个目录挂载起来,那么这个时候,本机的目录就叫做数据卷。

    2.数据卷的实现

        1.本机的目录下的数据会和容器的目录下的数据,同时改变,也就是当容器目录和数据卷的目录绑定后,对方的修改会立刻同步。

        注:一个数据卷可以同时被多个容器挂载。一个容器可以可挂载多个数据卷。

        2.数据卷的作用:1.容器数据持久化,2.外部机器和容器间的间接通讯,3.容器之间的数据交互。

        3.配置数据卷:启动容器时,使用-v参数设置数据卷:

            docker run -it --name=n4 -v 本机目录(文件):容器内目录(文件)+ 镜像

        4.创建数据卷容器:docker run -it --name=名字 -v /volumes + 镜像

    3.制作镜像:

        1.将容器打包成镜像:sudo docker commit + 容器名 + 镜像名字

        2.将镜像打包成压缩包:sudo docker save -o 压缩包name+要压缩的镜像

        3.将压缩包读取出来:sudo docker load -i 压缩包文件

8.Docker镜像原理:

    问题一:Docker镜像的本质是什么

        是一个分层的文件系统

    问题二:Docker镜像中的一个centos镜像只有200MB,为什么下载centos操作系统的ios是却又几个G?

        Centos的iso镜像文件包含bootfs和rootfs,而docker中的centos镜像复用了操作系统的bootfs,只有rootfs和其他镜像层需要下载

    问题三:Docker中的tomcat镜像500MB,而一个tomcat的安装包只有70MB

        由于docker中镜像是分层的,tomcat虽然只有70多MB,但是他需要依赖父镜像和基础镜像,所有的叠加起来就比较大了。

9.Docker镜像原理:

    1.Docker镜像是由特殊的文件系统叠加而成。

    2.最底层是bootfs,并且使用宿主机的bootfs。

    3.第二层是root文件系统,rootfs,被称为base images。

    4.然后再往上可以叠加其他的镜像文件。

    5.一个镜像可以放在另一个镜像上面,位于下面的镜像称为父镜像。

    6.当从一个镜像启动容器时,Docker会在最顶层加载一个读写文件系统作为容器。

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

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

相关文章

Word文档如何设置成不可编辑的模式?

把Word文档设置成“不可编辑模式”,也就是“限制编辑”,可以防止意外更改文档内容;对于只想给他人读阅,禁止复制和更改的情况,也能起到一定的保护作用。 Word文档里自带设置限制保护的选项,在菜单中选择【…

【Uni-App】uniapp使用uview实现弹出键盘输入密码/验证码功能

目录(一)效果图(二)使用组件说明keyboard属性:keyboard事件:(五)js代码实现(一)效果图 (二)使用组件说明 组件使用的是uview组件&…

MATLB|多微电网及分布式能源交易

目录 一、概述 二、数学模型 三、结果可视化 四、Matlab代码实现 一、概述 在人类、工业和电动汽车的能源需求的推动下,全球能源需求预计将在未来几年稳步增长;更准确地说,预计到 2030 年增长将达到 40%。这种需求是由人类日益依赖能源的…

Linux配置网络,增添网络会话,Wget下载,yum仓库配置

配置网络 从RHEL7开始引入了一种新的“一致网络设备命名”的方式为网络接口命名,该方式可以根据固件、设备 拓扑、设备类型和位置信息分配固定的名字。网络接口的名称的前两个字符为网络类型符号。如: en——表示以太网(Ethernet)、wl表示无线局域网(wlan)、ww表示无…

[附源码]Python计算机毕业设计SSM基于的高校在线办公系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【玩转ChatGPT |OpenAI超级对话模型】手把手带你玩转ChatGPT

个人名片: 🐼作者简介:一名大二在校生,喜欢编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:&#x1f5bc…

【深度学习】PyTorch深度学习实践 - Lecture_10_Basic_CNN

文章目录一、CNN基础流程图二、CNN的两个阶段三、卷积的基本知识3.1 单信道的卷积3.2 三信道的卷积3.3 N信道卷积3.4 输入N信道-输出M信道卷积3.5 卷积层的常见参数3.5.1 Padding3.5.2 Stride3.5.3 下采样(MaxPooling)四、实现一个简单的CNN4.1 网络结构…

【案例教程】气象数值预报WRF-DA资料同化系统理论、运行与变分、混合同化新方法技术

【视频教程】WRF DA资料同化系统理论、运行与与变分、混合同化新方法技术应用https://mp.weixin.qq.com/s?__bizMzAxNzcxMzc5MQ&mid2247518760&idx1&snddbc45296acc595402434b88bc179a27&chksm9be39538ac941c2eabab2492e997827d0e1269de3b229fadee72f1223bbcd…

机器学习实战教程(三):决策树实战篇

一、前言 上篇文章机器学习实战教程(二):决策树基础篇之让我们从相亲说起机器学习实战教程(二):决策树基础篇_M_Q_T的博客-CSDN博客机器学习实战教程(二):决策树基础篇之…

web前端期末大作业 html+css+javascript汽车销售网站 学生网页设计实例 企业网站制作

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

JQuery高级(回调函数 clearInterval 插件)

回调函数: 定义:回调函数被认为是一种高级函数,一种被作为参数传递给另一个函数的高级函数。回调函数的本质是一种模式(一种解决常见问题的模式),因此回调函数也被称为回调模式。 简而言之:一个函数在另一个函数中…

Vue3+Vite项目按需自动导入配置及常见问题修复

文章目录一、Vue API自动导入1.1 配置unplugin-auto-import1.2 可能遇到ts,eslint不识别而导入报错的问题1.3 配置src/component目录下的组件自动引入二、按需引入UI组件库(antd,element-plus)2.1、按需引入element-plus2.2 ant-design-vue 按需引入2.3 …

Qt多线程调用gdal库接口

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 效果图和程序说明 效果图如下: 这个程序是Qt的GUI程序,用于给指定的图像文件创建金字塔。 为什么要使用多线程 使用多线程的好处主要有两点: 1.多线程在很多时候显得更人性化些。比…

计算机研究生就业方向之去大厂做售前

我一直跟学生们说你考计算机的研究生之前一定要想好你想干什么,如果你只是转码,那么你不一定要考研,至少以下几个职位研究生是没有啥优势的: 1,软件测试工程师(培训一下就行) 2,前…

【Docker】如何用Docker安装Tomcat

专栏精选文章 《Docker是什么?Docker从介绍到Linux安装图文详细教程》《30条Docker常用命令图文举例总结》《Docker如何构建自己的镜像?从镜像构建到推送远程镜像仓库图文教程》《Docker多个容器和宿主机之间如何进行数据同步和数据共享?容器…

关于linux下的xinetd服务

我们在网络通信时候用到socket套接字,有的时候我们更希望Linux能使用http协议等于前端有一定的交互,那么xinetd服务无疑是Linux下一种很好的方法。 什么是xinetd呢?xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,…

[附源码]Python计算机毕业设计SSM基于的婚恋系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

ERStudio操作指南

ERStudio操作指南一、创建逻辑模型二、生成SQL脚本本文使用的ER/Studio版本:ER/Studio Version 8.0.2 一、创建逻辑模型 1、打开ER/Studio后,选择:File>New,打开如下界面,选择Draw a new data model。 如上图&am…

接口调用、客户端lb、嵌套JSON解析、慎用 foreach、新建类封装

文章目录接口调用出错推荐客户端负载均衡多层JSON嵌套大数据量 插入慎用foreach使用Api时新建一个类封装、方便维护接口调用出错 故障转移:重试选择其他可用节点,做好幂等性可用!!!快速失败 推荐客户端负载均衡 服务…

如何在 Java 中调用 MATLAB 代码

文章目录测评完整源代码运行环境: MATLAB R2022a Java 8(1.8.0_311) IntelliJ IDEA 2022.2.1 (Ultimate Edition) Maven 3.8.3 Windows 10 教育版 64位 使用混合编程通常都不是好主意,但是有时候会遇到极端的情况。Java 擅长…