Linux--Docker容器(1)

这里写目录标题

  • 简介
    • 名词解释
    • 作用
  • 指令
    • 在本地创建容器的过程:(这里以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就可以打开项目页面
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

黑豹程序员-axios+springmvc传递数组

问题 奇怪的现象,axios在往后台传递数组时,springmvc竟然接收不到 解决 尝试多次无果,突然看一篇文章写vue中的数组不是真正的数组需要强转转化JSON.stringify 将信将疑下测试了一把,还真的传递成功了。 不光要JSON.stringify…

[PyTorch][chapter 6][李宏毅深度学习][Logistic Regression]

前言: logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。 逻辑回归根据给定的自变量数据集来估计事件的发生概率,由于结果是一个概率&#xf…

linux内核使用ppm图片开机

什么是ppm图片 PPM(Portable Pixmap)是一种用于存储图像的文件格式。PPM图像文件以二进制或ASCII文本形式存储,并且是一种简单的、可移植的图像格式。PPM格式最初由Jef Poskanzer于1986年创建,并经过了多次扩展和修改。 PPM图像…

Axure的动态面板的使用

目录 1.什么是动态面板? 2.使用动态面板 ​编辑 轮播图 erp的登录系统 erp侧边栏 1.什么是动态面板? 动态面板是Axure的高级交互元件,由不同的状态面板组成,是我们制作交互过程中运用频率最高的元件,很多交互效果需…

【Docker】实战:nginx、redis

▒ 目录 ▒ 🛫 导读开发环境 1️⃣ Nginx 拉取 Nginx 镜像nginx.conf启动 Nginx访问 Nginx 2️⃣ redis拉取 Redis 镜像启动 Redis 容器测试 Redis 📖 参考资料 🛫 导读 开发环境 版本号描述文章日期2023-12-15操作系统Win10 - 22H222621.2…

网站服务器/域名/备案到底有什么关联?

​  在一个网站的组成中,网站服务器、域名、备案这几个要素是要被常提到的。在谈及三者关联之前,我们先了解下三者的各自概念。 域名:它是网站的唯一标识符,通俗理解来说就是用户在浏览器地址栏中输入的网址。一般来说&#xff…

MySQL作为服务端的配置过程与实际案例

MySQL是一款流行的关系型数据库管理系统,广泛应用于各种业务场景中。作为服务端,MySQL的配置过程对于数据库的性能、安全性和稳定性至关重要。本文将详细介绍MySQL作为服务端的配置过程,并通过一个实际案例进行举例说明。 一、MySQL服务端配…

新手HTML和CSS的常见知识点

​​​​ 目录 1.HTML标题标签(到)用于定义网页中的标题,并按照重要性递减排列。例如: 2.HTML段落标签()用于定义网页中的段落。例如: 3.HTML链接标签()用于创建链接…

首次使用 git 配置 github,gitee 密钥

gitee 和 github 密钥配置 1. 检查配置信息 使用命令 git config --global --list 检查邮箱是否一致 不一致可以使用如下命令进行设置 git config --global user.name "name" git config --global user.email "emailqq.com" 2. 生成 SSH 密钥 # 为 G…

2023年19款最佳3D打印软件

https://wenku.baidu.com/view/c0551497cf7931b765ce0508763231126edb77e3.html 2023年19款最佳3D打印软件 有免费也有付费!十款入门至专业级的3D打印软件推荐 【云图创智】23种最好用的3D打印软件,常用的3D打印软件都在这里了

HTML基础标签

但实际上无论声明为中文还是英文都可以写&#xff0c;中文/英文 主要是浏览器在进行调用翻译功能的时候&#xff0c;会按照声明的语言来进行翻译。 标签语义&#xff1a; 标签的属性一般都是在第一个标签中定义该标签效果所拥有的属性。 即标签的作用是什么 <>标签功能…

LeetCode(61)删除链表的倒数第 N 个结点【链表】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 删除链表的倒数第 N 个结点 1.题目 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例…

关于“Python”的核心知识点整理大全22

目录 ​编辑 9.4.2 在一个模块中存储多个类 虽然同一个模块中的类之间应存在某种相关性&#xff0c;但可根据需要在一个模块中存储任意数量的 类。类Battery和ElectricCar都可帮助模拟汽车&#xff0c;因此下面将它们都加入模块car.py中&#xff1a; car.py my_electric_car…

Leetcode sql50基础题最后的4题啦

算是结束了这个阶段了&#xff0c;之后的怎么学习mysql的方向还没确定&#xff0c;但是不能断掉&#xff0c;而且路是边走边想出来的。我无语了写完了我点进去看详情都不让&#xff0c;还得重新开启计划&#xff0c;那我之前的题解不都没有了&#xff01;&#xff01; 1.第二高…

10个国内外素材网站,提供免费 Photoshop 素材下载资源

即时设计 被很多人视为免费的PS素材网站——即时设计提供了资源广场版块&#xff0c;方便用户查找材料。对于提供的PS材料&#xff0c;即时设计也做了详细的分类工作&#xff0c;用户可以根据不同的使用标签快速找到相应的PS材料。 进入资源广场&#xff0c;在搜索框中输入要…

jmeter,动态参数之随机数、随机日期

通过函数助手&#xff0c;执行以下配置&#xff1a; 执行后的结果树&#xff1a; 数据库中也成功添加了数据&#xff0c;对应字段是随机值&#xff1a;

C#Winform菜鸟驿站管理系统-快递信息管理界面多条件查询实现方法

1&#xff0c;具体的页面设计如下&#xff0c; 2&#xff0c; 关于下拉框数据填充实现&#xff0c;站点选择代码实现如下&#xff0c;因为站点加载在很多界面需要用到&#xff0c;所以把加载站点的方法独立出来如下&#xff1b; /// <summary>/// 加载站点下拉框/// <…

案例064:基于微信小程序的考研论坛设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

cat EOF快速创建一个文件,并写入内容

在linux系统中&#xff0c;如果你有这个需求 vi一个文件 /etc/docker/daemon.json 在这个文件中写入内容 { "registry-mirrors": ["https://iw3lcsa3.mirror.aliyuncs.com","http://10.1.8.151:8082"],"insecure-registries":[&quo…

本地项目添加到gitlab命令操作

gitlab上面创建一个跟项目名同名的文件夹 创建文件夹&#xff0c;填写信息 添加readme文档&#xff0c;先保存下创建的文件夹 回到项目&#xff0c;复制项目的git 地址 然后进入到本地项目的文件夹&#xff0c;如d:/workspace/spring-demo&#xff0c;右键打开git bash弹框 命令…