Linux--Docker容器(1)

news2024/11/16 9:52:45

这里写目录标题

  • 简介
    • 名词解释
    • 作用
  • 指令
    • 在本地创建容器的过程:(这里以tomcat为例)
    • 访问容器
      • 端口映射
      • 目录挂载
      • 验证端口映射
      • 验证目录挂载
    • 删除镜像
    • 多小组访问容器
    • mysql容器

简介

名词解释

在这里插入图片描述
Docker镜像:可以将镜像理解为面向对象的类,或者说一个模版,用来创建应用或者说容器
Docker容器:镜像的实例化对象,也就是实实在在的应用,称为容器,相当于一个类的对象
Docker主机:运行Docker的虚拟机,也称为宿主机
Docker仓库:里面存放着许多镜像,属于一个类库

作用

我们在进行团队开发时,如果遇到有人使用的开发工具的版本不一致,那么会造成许多麻烦,而Docker就保证了应用版本的绝对一致,因为只要是同一个镜像实例化出来的容器,那么就一定是同一个版本

运行思路如下所示:
先从仓库(本地或者云)找到需要的镜像并拉取到宿主机、
之后创建该镜像的容器,给容器命名,该容器就是一个实实在在的应用了
在这里插入图片描述

指令

在本地创建容器的过程:(这里以tomcat为例)

在这里插入图片描述

1、首先查看本地是否有Docker库:(docker images)
在这里插入图片描述
2、之后搜索想要的镜像:
在这里插入图片描述
搜索时可以进行精确搜索对应的版本号,如果不加版本号,会列出所有,一般选择star最多的一个版本
在这里插入图片描述
3、拉取镜像到本地:(如果不加版本号,会拉取最新版本)
在这里插入图片描述
4、在本地创建docker容器:
在这里插入图片描述
在此之后,tomcat1就是一个tomcat应用的名字

5、启动tomcat进程:
在这里插入图片描述

访问容器

仅仅在本地创建并启动容器是不够的,当前是无法从其他终端访问到宿主机上的容器的,需要进行如下操作

首先这是一个指令:run
在这里插入图片描述
几个注意点:
对于-i选项,是创建容器
对于-d选项,是守护运行,其实就是运行容器,并且将日志隐藏到后台
对于-p选项,第一个是宿主机准备开放的端口号,第二个是容器的端口号,其中宿主机端口号容易修改,而容器的端口号轻易不改
对于-v选项,第一个是宿主机的文件目录,表示pc端向虚拟机传文件时,传到虚拟机的目录是哪里,可以更改
第二个是容器指定目录,一般是默认规定好的,不容易修改

且对于run命令,有如下规则:
在这里插入图片描述

端口映射

在这里插入图片描述
将容器的端口映射到宿主机的端口,这样当访问到宿主机的端口后,直接就访问到了容器

目录挂载

在这里插入图片描述
当传输文件时,如果不进行目录挂载,只能从pc端传入到宿主机,无法进入容器,这时进行目录挂载,可以将宿主机目录的内容同步到容器的指定目录中

验证端口映射

在这里插入图片描述
注意,如果本地没有对应的镜像,会自动拉取到本地
上图的命令要在最后加上一个镜像名,因为这里要进行容器的创建,与创建容器指令相似

运行完之后,再次到浏览器刷新端口号对应的网址,就可以进入了

验证目录挂载

之后我们进入到容器里面
在这里插入图片描述
注意,id号可以简写
进入到容器挂载的目录,ls命令查看当前目录有哪些内容,目前是空

然后我们向宿主机对应的目录中放入一个文件
在这里插入图片描述
再回到容器挂载的目录,ls查看,文件已经同步了
在这里插入图片描述

删除镜像

在这里插入图片描述
删除一个镜像时,可以先强制删除镜像目前的容器,之后再rmi 移除镜像

多小组访问容器

在这里插入图片描述
只需要修改容器名,宿主机端口号(该端口号很宽松,可以按照意愿进行修改),之后再更改容器名,实例化第二个容器即可

同时服务器还要开放端口5050,就可以互联网访问了

mysql容器

在这里插入图片描述
在这里插入图片描述
安装mysql时,与tomcat一样,
直接使用run命令
docker run -id --name mysql1(2、3、4、…) -p 宿主机准备开放的端口号:容器端口号 -v 宿主机目录:容器规定的目录 -e 数据库密码 最后是镜像(相当于类名)

安装好mysql之后,还要设置一下项目链接 这个链接是将一个项目与其数据库链接起来,如下,这就表示一个项目连上了mysql数据库,访问7070就可以打开项目页面
在这里插入图片描述

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

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

相关文章

Axure的动态图使用以及说明

认识Axure动态图 Axure动态图是Axure中的一种功能,它允许用户在原型中添加动画效果和交互动作,使原型更加生动和具有真实的用户体验。用户可以通过添加动态图来展示页面过渡、按钮点击、下拉菜单等交互操作的效果。 这是:就是我们今天要叫的…

深入理解模板引擎:解锁 Web 开发的新境界(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

【Spark精讲】Spark作业执行原理

目录 基本流程 主要组件 Driver端 Executor端 Job提交执行流程 Task提交 Task执行 基本流程 用户编写的Spark应用程序最开始都要初始化SparkContext。 用户编写的应用程序中,每执行一个action操作,就会触发一个job的执行,一个应用程…

高级前端开发工程师

岗位需求 熟练掌握前端主流框架Vue、React、Angular,至少熟练掌控Vue全家桶 文章目录 岗位需求前言一、Vue框架二、React框架三、Angular框架四、什么是Vue全家桶前言 -那就看你表哥的电脑里有没有硬盘 -我不敲键盘 一、Vue框架 Vue(读音为/vjuː/,类似于"view"…

JedisCluster 通过 Pipeline 实现两套数据轮换更新

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、整体流程 1.1 大致流程 1.2 流程代码解释 二、从数据库里查数据 2.1 SQL语句 三、更新当前前缀 3.1 设置前缀常量 3.2 初…

金智融门户(统一身份认证)同步数据至钉钉通讯录

前言:因全面使用金智融门户和数据资产平台,二十几个信息系统已实现统一身份认证和数据同步,目前单位使用的钉钉尚未同步组织机构和用户信息,职工入职、离职、调岗时都需要手工在钉钉后台操作,一是操作繁琐,二是钉钉通讯录更新不及时或经常遗漏,带来管理问题。通过金智融…

【网络安全】网络防护之旅 - 非对称密钥体制的解密挑战

🌈个人主页:Sarapines Programmer🔥 系列专栏:《网络安全之道 | 数字征程》⏰墨香寄清辞:千里传信如电光,密码奥妙似仙方。 挑战黑暗剑拔弩张,网络战场誓守长。 目录 😈1. 初识网络安…

Python将已标注的两张图片进行上下拼接并修改、合并其对应的Labelme标注文件(v2.0)

Python将已标注的两张图片进行上下拼接并修改、合并其对应的Labelme标注文件(v2.0) 前言前提条件相关介绍实验环境上下拼接图片并修改、合并其对应的Labelme标注文件代码实现输出结果 前言 此版代码,相较于Python将已标注的两张图片进行上下拼…

Centos开机进入grub命令行模式进入不了操作系统

环境:没有linux命令,没有initrd命令,没有init6命令 由于删除了/boot/efi/EFI/centos/grub.cfg ,重启服务器后,无法进入原来正常的系统,进入了grub命令行界面 备注:对于centos7/8/openEuler: 如果…

VR云游打造沉浸式文旅新体验,延伸智慧文旅新业态

从“跃然纸上”到“映入眼帘”,随着国家数字化战略的深入实施,文旅产业的数字化转型正在不断加快,“沉浸式”逐渐成为了文旅消费新热点。VR技术与文旅产业相融合,新产品、新模式、新业态不断涌现,文旅资源逐渐“活”起…

巴贝拉葡萄酒是单一品种还是混合品种制成的?

大多数巴贝拉葡萄酒都是由单一的巴贝拉葡萄品种制成的,许多意大利葡萄酒商开始尝试在巴贝拉葡萄酒中加入其它葡萄品种,其中两个最受欢迎的意大利品种是皮埃蒙特的巴贝拉德阿尔巴和达斯蒂。和朋友在一家意大利餐厅吃饭,被酒单吓到了&#xff1…

nodejs+vue+微信小程序+python+PHP全国天气可视化分析系统-计算机毕业设计推荐

3.2.1前台用户功能 前台用户可分为未注册用户需求和以注册用户需求。 未注册用户的功能如下: 注册账号:用户填写个人信息,并验证手机号码。 浏览天气资讯:用户可以浏览天气资讯信息详情。 已注册用户的功能如下: 登录&…

例如,用一个DatabaseRow类型表示一个数据库行(容器),用泛型Column<T>作为它的键

以下是一个简单的示例&#xff0c;演示如何使用泛型的Column<T>作为DatabaseRow的键&#xff0c;表示一个数据库行&#xff08;容器&#xff09;&#xff1a; // 列定义 class Column<T> {private String columnName;private T value;public Column(String column…

ARM KEIL 安装

根据设备类型安装开发工具及环境 Arm,Cortex ----> MDK-Arm 8051 ----> C51 80251 ----> C251 C166,XC166,XC2000 MCU设备 ----> C155 填写信息提交后下载 点击MDK539.EXE下载 : MDK539.EXE 双击MDK539安装 点击Next 默认安装路径,点击Ne…

[Knowledge Distillation]论文分析:Distilling the Knowledge in a Neural Network

文章目录 一、完整代码二、论文解读2.1 介绍2.2 Distillation2.3 结果 三、整体总结 论文&#xff1a;Distilling the Knowledge in a Neural Network 作者&#xff1a;Geoffrey Hinton, Oriol Vinyals, Jeff Dean 时间&#xff1a;2015 一、完整代码 这里我们使用python代码进…

CLIP 对比学习 源码理解快速学习

最快的学习方法&#xff0c;理清思路&#xff0c;找视频讲解&#xff0c;看源码逻辑&#xff1a; CLIP 源码讲解 唐宇 输入&#xff1a; 图像-文本成对配对的数据 训练模型的过程&#xff08;自己理解&#xff09;&#xff1a; 怎么做的&#xff1f;&#xff1a;利用数据内部…

使用Python实现对word的批量操作

Python在平时写写小工具真是方便快捷&#xff0c;Pyhon大法好。以下所有代码都是找了好多网上的大佬分享的代码按照自己的需求改的。 调用的库为Python-docx、win32com、PyPDF2、xlwings&#xff08;操作excel&#xff09;。 因为公司的任务要对上千个word文件进行批量操作&a…

node.js学习(简单聊天室)

在掘金查看该文章 1. TCP服务搭建 1.1 socket 先来粗略了解下socket 套接字&#xff08;socket&#xff09;是一个抽象层&#xff0c;应用程序可以通过它发送或接收数据&#xff0c;可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中&am…

uniGUI学习之Cookie

UniApplication.Cookies.SetCookie( const ACookieName: string, const AValue: string, AExpires: TDateTime 0, ASecure: Boolean False, AHTTPOnly: Boolean False, const APath: string / )

Module ‘app‘: platform ‘android-33‘ not found.

目录 一、报错信息 二、解决方法 一、报错信息 Module app: platform android-33 not found. 检查你的应用程序的build.gradle文件中的targetSdkVersion和compileSdkVersion是否正确设置为已安装的Android SDK版本。 确保你的Android Studio已正确安装并配置了所需的Android …