Docker容器实战

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


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://xiahunao.cn/news/2806386.html

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

相关文章

计算机网络实验四VLAN与三层交换机

一、实验目的和要求 1)掌握VLAN的基本配置方法,理解VLAN的功能和作用; 2)掌握三层交换机的基本配置方法。 二、实验环境 1)运行Windows 2008 Server/XP/7操作系统的PC一台。 2)PacketTracer。 实验内…

电子器件系列63:肖特基二极管NSQ03A04\SS34C

以下是肖特基二极管_SS34C_规格书_SLKOR(萨科微),立创编号C880740 以下是肖特基二极管NSQ03A04的规格书: 稍微比较下参数,发现两者参数接近,ss34的几个参数还要略微好一些,可以用ss34来作替换。 在电源电路中的应用: …

python实现贝尔曼福德算法

对于求图的最短路径问题,如果使用迪杰斯特拉算法,也可以算是一个较为常见的方法,但是对于迪杰斯特拉算法解决最短路径问题的时候,会存在一个问题,那就是所有边所对应的距离都必须是正数,而如果在存在负数的边的时候,迪杰斯特拉算法就会存在问题,而对于存在负数的这种情…

Bean的声明周期

1.创建Bean对象(调用无参数构造) 2.给bean对象设置相关属性(依赖注入) 3.bean后置处理器(初始化前执行,类似于过滤器和拦截器) 首先要定义一个类MyBeanPost,实现BeanPostProcessor…

Freertos实时操作系统---基于STM32

一、Freertos简介 1.Freertos介绍 1)RTOS指的是一类的实时操作系统 2)rtos的使用:用户根据对任务来设置其优先级然后来使用调度器来决定哪一个任务来先执行。 3)Freertos的文件数量远低于其他操作系统 4)主要特点&…

[rust] 10 project, crate, mod, pub, use: 项目目录层级组织, 概念和实战

文章目录 一 项目目录层级组织概念1.1 cargo new 创建同名 的 Project 和 crate1.2 多 crate 的 package1.3 mod 模块1.3.1 创建嵌套 mod1.3.2 mod 树1.3.3 用路径引用 mod1.3.3.1 使用绝对还是相对? 1.3.4 代码可见性1.3.4.1 pub 关键字1.3.4.2 用 super 引用 mod1.3.4.3 用 …

Win11网络连接选项和蓝牙选项突然消失的解决办法

在设置或者开始栏里搜索“网络重置” 打开网络重置: 然后点击立即重置,之后按照系统提示操作即可

51单片机学习(4)-----独立按键进一步控制LED灯

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 目录 一. 独立按键灵活控制LED 程序一:单个独立按键控制多个…

C++ 二分法

目录 1、704. 二分查找 2、34. 在排序数组中查找元素的第一个和最后一个位置 3、69. x的平方根 4、35. 搜索插入位置 5、852. 山脉数组的峰顶索引 6、162. 寻找峰值 7、153. 寻找旋转排序数组中的最小值 8、LCR 173. 点名 1、704. 二分查找 ​ class Solution {…

2024 windows环境下安装RabbitMQ(亲测超详细)

一、RabbitMQ是什么?   RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 ​ AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消…

[C++] 如何操作ini文件

什么是ini文件? INI文件(.ini)是一种常见的配置文件格式,用于存储程序、操作系统或设备驱动程序的配置信息。INI是"Initialization"的缩写,指的是初始化。INI文件通常是纯文本文件,在Windows操作…

【c++】模板初阶(泛型编程与模板)

1.泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } void Swap(char& left, …

论文精读--GPT1

把transformer的解码器拿出来,在没有标号的大量文本数据上训练一个语言模型,来获得预训练模型,然后到子任务上微调,得到每个任务所需的分类器 Abstract Natural language understanding comprises a wide range of diverse tasks…

RabbitMq:什么是RabbitMq? ①

一、RabbitMq定位 RabbitMq是一个基于消息订阅发布的一款消息中间件。 二、技术原理 核心概念 server:又称broker,接受客户端连接,实现AMQP实体服务。缓存代理,Kafka集群中的一台或多台服务器统称broker.connection:…

C++初阶:容器适配器priority_queue常用接口详解及模拟实现、仿函数介绍

介绍完了stack和queue的介绍以及模拟的相关内容后:C初阶:容器适配器介绍、stack和queue常用接口详解及模拟实现 接下来进行priority_queue的介绍以及模拟: 文章目录 1.priority_queue的介绍和使用1.1priority_queue的初步介绍1.2priority_que…

模型 3C(顾客、公司、竞争)战略

系列文章 分享 模型,了解更多👉 模型_总纲目录。洞悉自身,把握顾客,超越竞争。 1 3C(顾客、公司、竞争)战略模型的应用 1.1 3C战略模型在麦当劳公司中的应用 麦当劳在扩张国际市场时采用3C战略模型,具体如下&#xf…

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

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

什么是nginx 、安装nginx、nginx调优

一、 什么是nginx 1.1 nginx的概念 一款高新能、轻量级Web服务软件系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持30 000~50 000个并发请求。 1.2 nginx模块与作用 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错…

数字电路 第二章—第一节(门电路—概述)

一、门电路的概念 实现基本和常用逻辑运算的电子电路称为逻辑门电路,简称门电路。例如,实现与运算的称为与门,实现或运算的称为或门,实现非运算的称为非门,也称为反相器;类似地,实现与非、或非、…

vue+nodejs+uniapp婚纱定制婚庆摄影系统 微信小程序 springboot+python

目前移动互联网大行其道,人人都手中拿着智能机,手机手机,手不离机,如果开发一个用在手机上的程序软件,那是多么的符合潮流,符合管理者和客户的理想。本次就是开发婚庆摄影小程序,有管理员&#…