Docker容器实战

news/发布时间2024/5/15 9:52:51

 "爱在,地图上,剥落~"


Mysql 容器化安装

        我们可以在 docker hub上,进入mysql的镜像仓库,找到适合的版本。

        直接拉取镜像:

docker pull mysql:latest
        我们知道 msyql 的默认端口是 3306 ,而且有密码,查看官网的启动用例:
docker run --name mysql -d -p 8081:3306 -e MYSQL_ROOT_PASSWORD=wgzzsroot mysql:latest

        我们进入容器登录,可以看到我们已经可以正常登录 msyql :

Redis 容器化安装

        使用关系型数据库(如Mysql)的 Web 站点多多少少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般是在磁盘的 I/O 上。

        为了克服这一问题,NoSQL 应运而生,它同时具备了高性能、可扩展性强、高可用等优点,受到广泛开发人员和仓库管理人员的青睐。

        在NoSQL数据库中,最受欢迎的就是Redis,其包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。具有如下特征:

基于内存运行,性能高效
支持分布式,理论上可以无限扩展
key-value 存储系统

        下载Redis镜像:

docker pull redis:7.0

        启动redis容器,并连接:

docker container run --name redis -d -p 8085:6379 redis:7.0 
docker container exec -it redis sh

 

C++容器制作

源是什么?

        源的本质就是,当你使用软件安装工具安装软件时,该安装程序从哪里获取软件包的地方。一些人将这些源放在一个集合中——软甲仓库,不管你想要获取什么软件包,都需要到这个仓库中查找。如果软件包存在,你就可以获取到这个软件包,反之就无法完成。

        因为我们目前的机器是Centos版本的,但现在我想基于ubuntu来制作C++容器,输出"hello world"。

        下载镜像:

docker pull ubuntu:latest

        启动容器,编写C++代码:

docker run --name mygcc -it ubuntu:latest bash

        编译C++文件需要标准库以及gcc编译器,但这些软件源是在国外的,访问起来很慢,所以我们会借助国内软件源进行下载。

        配置国内镜像源加速:

sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g'  /etc/apt/sources.list

         sed命令通过流的形式,将国内镜像源地址添加到默认软件源的配置文件中。

        安装gcc,vim编辑器

# 类似 刷新缓存
apt update
# 安装软件
apt install gcc g++ vim -y

         编写C++文件,并输出“Hello World”:

容器资源更新

        我们运行一个 nginx:

docker run -d --name mywebsite1-p 80:80 ngxin:latest

        通过 docker stats 可以看到资源的动态变:

        多次刷新,访问ngnix服务后:

        可以观察到该容器占用的带宽流量是持续增加的。

        我们还可以通过 docker update 更新 docker 的最大内存

docker container update -m 300m --memory-swap 600m mywebsite1

 

Docker容器常见问题

docker (start vs create vs run)?

🎢 docker create 命令从 Docker 映像创建一个全新的容器。但是,它不会立即运行它

🎢 docker start 命令将启动任何已停止的容器,如果使用 docker create 命令创建容器,则可以使用此命令启动它。

🎢 docker run 命令是创建和启动的组合,因为它创建了一个新容器并立即启动它。

docker import 和 docker load 有什么区别?

        docker import(export) 与 docker load(save)都是一对将容器归档为.tar压缩包的命令。区别在于:

        docker load 会保存该镜像的的所有历史记录,导出的文件要大于使用docker export。

        docker export的容器文件会丢失所有元数据和历史记录,仅保存容器当时的状态,相当于虚拟机快照。

docker rm & docker rmi & docker prune 的差异?

🎑docker rm : 删除一个或多个容器
🎑 docker rmi : 删除一个或多个镜像
🎑 docker prune: 用来删除不再使用的 docker 对象

本篇到此结束,感谢你的阅读。

祝你好运,向阳而生~

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

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

MYSQL-入门

一.安装和连接 1.1 安装 mysql安装教程: 2021MySql-8.0.26安装详细教程(保姆级)_2021mysql-8.0.26安装详细教程(保姆级)_mysql8.0.26_ylb呀的博客-cs-CSDN博客 workbench安装: MySQL Workbench 安装及使用-CSDN博客 1.2 配…

强大的文本绘图——PlantUML

PlantUML是一款开源工具,它允许用户通过简单的文本描述来创建UML图(统一建模语言图)。这种方法可以快速地绘制类图、用例图、序列图、状态图、活动图、组件图和部署图等UML图表。PlantUML使用一种领域特定语言(DSL)&am…

本机防攻击简介

定义 在网络中,存在着大量针对CPU(Central Processing Unit)的恶意攻击报文以及需要正常上送CPU的各类报文。针对CPU的恶意攻击报文会导致CPU长时间繁忙的处理攻击报文,从而引发其他业务的中断甚至系统的中断;大量正常…

idea如何在一个service窗口中显示多个服务教程

idea在service窗口中显示多个服务 展示效果如下: 找到.idea > workspace.xml 中找到 RunDashboard 替换成如下 <component name"RunDashboard"><option name"configurationTypes"><set><option value"SpringBootApplicatio…

反序列化字符串逃逸 [安洵杯 2019]easy_serialize_php1

打开题目 $_SESSION是访客与整个网站交互过程中一直存在的公有变量 然后看extract()函数的功能&#xff1a; extract($_POST)就是将post的内容作为这个函数的参数。 extract() 函数从数组中将变量导入到当前的符号表(本题的作用是将_SESSION的两个函数变为post传参) function…

【鸿蒙 HarmonyOS 4.0】状态管理

一、介绍 资料来自官网&#xff1a;文档中心 在声明式UI编程框架中&#xff0c;UI是程序状态的运行结果&#xff0c;用户构建了一个UI模型&#xff0c;其中应用的运行时的状态是参数。当参数改变时&#xff0c;UI作为返回结果&#xff0c;也将进行对应的改变。这些运行时的状…

氢气传感器与氢冷发电机:氢能应用中的关键技术及其安全监测

​ ​随着全球对可再生能源的迫切需求&#xff0c;氢能作为一种清洁、高效的能源形式&#xff0c;正逐渐受到人们的青睐。在氢能利用的过程中&#xff0c;氢气传感器和氢冷发电机成为了不可或缺的关键技术。然而&#xff0c;氢气作为一种易燃易爆的气体&#xff0c;其安全使…

P8630 [蓝桥杯 2015 国 B] 密文搜索

P8630 [蓝桥杯 2015 国 B] 密文搜索 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P8630 题目分析 基本上是hash的板子&#xff0c;但实际上对于密码串&#xff0c;只要判断主串中任意连续的八个位置是否存在密码串即可&#xff1b;那么我们…

svn客户端下载、安装、使用

下载、使用 打开360软件管家&#xff0c;选怎宝库&#xff0c;搜索svn&#xff0c;点击安装 可以修改安装路径 使用 在桌面右键弹出菜单&#xff0c;点击 输入地址&#xff0c;点击ok 输入用户名、密码 &#xff0c;等待检出完成

机器学习基础(四)非监督学习的进阶探索

导语&#xff1a;上一节我们详细探索监督学习的进阶应用&#xff0c;详情可见&#xff1a; 机器学习基础&#xff08;三&#xff09;监督学习的进阶探索-CSDN博客文章浏览阅读296次&#xff0c;点赞13次&#xff0c;收藏11次。监督学习作为机器学习的一个主要分支&#xff0c;…

基础中的基础!吴恩达deeplearning.ai:如何搭建一个神经网络

在前面几篇博客的学习之后&#xff0c;你应该了解了如何写出Tensorflow有关的代码&#xff0c;如何在Tensorflow中搭建一个层以及如何在Tensorflow之中实现前向推理&#xff08;链接&#xff09;&#xff0c;也了解了Tensorflow有关的数据形式&#xff08;链接&#xff09; 今天…

深度学习介绍

02-深度学习介绍 1 AI地图2 深度学习任务2.1 图片分类2.2 物体检测和分割2.3 样式迁移2.4 人脸合成2.5 文字生成图片2.6 文字生成2.7 无人驾驶 3 案例研究4 question 1 AI地图 自然语言处理是感知的范围&#xff0c;人几秒内科研感知。 2 深度学习任务 2.1 图片分类 https:/…

Linux离线安装插件

当公司Linux环境无外网情况下&#xff0c;需要先下载好离线安装包&#xff0c;然后上传到服务器&#xff0c;进行安装。 这里介绍一个下载插件安装包的网站&#xff0c;可以搜索到lrzsz、lsof、telnet、unzip、zip等安装包 搜索到想要的插件安装包后&#xff0c;下载并上传到服…

基于Java jsp+mysql+Spring的汽车出租平台租赁网站平台设计和实现

基于Java jspmysqlSpring的汽车出租平台租赁网站平台设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留…

【若依(ruoyi)】Java---如何在Apifox上传params参数--延伸--如何在Apifox上传Map类型参数

在使用若依开发过程中写接口的时候想在params中添加参数,但是使用params.key这种形式在后端是接收不到传过来的参数的,于是百般调研(百度),终于找到一个解决办法,就是在参数前后加上%5B和%5D,这两个参数会被编译为"["和"]",于是就对得上了,后端成功接受到参…

Covalent Network(CQT)发展新里程碑:SOC 2 数据安全认证通过,进一步加强了其人工智能支持

Covalent Network&#xff08;CQT&#xff09;现已完成并通过了严格的 Service Organization Control&#xff08;SOC) 2 Type II 的合规性审计&#xff0c;通过由备受行业认可的机构执行&#xff0c;进一步证明了 Covalent Network&#xff08;CQT&#xff09;团队坚定不移地致…

FlinkCDC详解

1、FlinkCDC是什么 1.1 CDC是什么 CDC是Chanage Data Capture&#xff08;数据变更捕获&#xff09;的简称。其核心原理就是监测并捕获数据库的变动&#xff08;例如增删改&#xff09;&#xff0c;将这些变更按照发生顺序捕获&#xff0c;将捕获到的数据&#xff0c;写入数据…

6.2 数据库

本节介绍Android的数据库存储方式--SQLite的使用方法&#xff0c;包括&#xff1a;SQLite用到了哪些SQL语法&#xff0c;如何使用数据库管理操纵SQLitem&#xff0c;如何使用数据库帮助器简化数据库操作&#xff0c;以及如何利用SQLite改进登录页面的记住密码功能。 6.2.1 SQ…

【C++】类与对象—— 初始化列表 、static 静态成员、

类与对象 1 再谈构造函数1.1 构造函数体赋值1.2 初始化列表语法&#xff1a;建议&#xff1a;初始化顺序&#xff1a;注意&#xff1a; 1.3 explicit关键字 2 static 静态成员2.1 概念2.2 声明成员变量2.3 使用类的静态成员2.4 定义静态成员总结 Thanks♪(&#xff65;ω&#…

js设计模式:享元模式

作用: 当需要处理很多非常类似操作的时候,可以创建可以共享的对象,并暴露接口供其他对象调用 这个对象内包含这些操作的处理逻辑,可以优化性能 示例: const Ipad function(){const apps {}const useApp function(appName,appFun){if(apps[appName]){return apps[appName]…
推荐文章