Docker容器实战

news2024/11/15 17:49:30

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


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.coloradmin.cn/o/1469030.html

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

相关文章

ArcgisForJS如何将ArcGIS Server发布的点要素渲染为热力图?

文章目录 0.引言1.ArcGIS创建点要素2.ArcGIS Server发布点要素3.ArcgisForJS将ArcGIS创建的点要素渲染为热力图 0.引言 ArcGIS For JS 是一个强大的地理信息系统(GIS)工具,它允许开发者使用 JavaScript 语言来创建各种 GIS 应用。ArcGIS Ser…

2.5G/5G/10G高速率网络变压器(网络隔离变压器)产品介绍(1)

Hqst华轩盛(石门盈盛)电子导读:高速率/2.5G 的带POE插件(DIP)款千兆双口网络变压器2G54801DP特点 一 ﹑2.5G高速率网络变压器(网络隔离变压器):2G54801DP外观与尺寸 2G54801DP这颗产品尺寸为:长…

应用回归分析:非参数回归

非参数回归是一种统计方法,它在建模和分析数据时不假设固定的模型形式。与传统的参数回归模型不同,如线性回归和多项式回归,非参数回归不需要预先定义模型的结构(例如,模型是否为线性或多项式)。这使得非参…

Python爬虫-付费代理推荐和使用

付费代理的使用 相对免费代理来说,付费代理的稳定性更高。本节将介绍爬虫付费代理的相关使用过程。 1. 付费代理分类 付费代理分为两类: 一类提供接口获取海量代理,按天或者按量收费,如讯代理。 一类搭建了代理隧道&#xff0…

矩阵的导数运算(理解分子布局、分母布局)

矩阵的导数运算(理解分子布局、分母布局) 1、分子布局和分母布局 请思考这样一个问题,一个维度为m的向量y对一个标量x的求导,那么结果也是一个m维的向量,那么这个结果向量是行向量,还是列向量呢? 答案是&#xff1a…

故障诊断 | 一文解决,PSO-BP粒子群算法优化BP神经网络模型的故障诊断(Matlab)

文章目录 效果一览文章概述模型描述源码设计参考资料效果一览 文章概述 故障诊断 | 一文解决,PSO-BP粒子群算法优化BP神经网络模型的故障诊断(Matlab) 粒子群优化算法(Particle Swarm Optimization, PSO)是一种群体智能优化算法,用于求解优化问题。BP神经网络是一种用于模…

备战蓝桥杯————二叉树解题思维1

解决二叉树问题时,常采用两种思维模式: 遍历思维模式: 这种思维模式强调是否可以通过一次遍历二叉树来得到答案。通常使用一个遍历函数(比如前序、中序、后序遍历)结合外部变量来实现。这种方法适用于需要在每个节点上…

读人工不智能:计算机如何误解世界笔记02_Hello,world

1. Hello,world 1.1. “Hello,world”是布赖恩克尼汉和丹尼斯里奇于1978年出版的经典著作《C程序设计语言》中的第一个编程项目 1.2. 贝尔实验室可以说是现代计算机科学界中的智库,地位好比巧克力界的好时巧克力 1.3. 计算机科学界的大量创…

(响应数据)学习SpringMVC的第三天

响应数据 一 . 传统同步业务数据响应 1.1 请求资源转发与请求资源重定向的区别 请求资源转发时,froward:可不写 二 . 前后端分离异步方式 回写json格式的字符串 1 用RestController代替Controller与 ResponseBody 2 . 直接返回user对象实体 , 即可向 前端ajax 返回json字…

第七篇:CamX Sensor Bringup

第七篇:CamX Sensor Bringup 一、sensor 驱动文件编写 sensor驱动相关的文件目录在chi-cdk/oem/qcom/sensor 下。一般如果能直接从模组厂上拿到已经写好的驱动文件,那是最好的了。 如果没有,那就只能是拿到提供的寄存器setting参数,自己来写。 我们可以参考已有的驱动文…

【Linux基础】Linux自动化构建工具make/makefile

背景 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后…

异步http和同步http原理和差异

开发服务器端程序时,一种常见的需求是,通过向另一个http服务器发送请求,获得数据。最常规的作法是使用同步http请求的方式,过程如下 这种方式简单好用,但是在高并发场景下有缺陷。在单线程环境下,程序发送h…

台式电脑无法进桌面问题

楼主家里的台式电脑有一段时间进不了桌面,一度很困扰。 最开始发现有一个存储盘没有显示,拆开主机盖,把显卡、内存、硬盘都重新往紧压了下。重新开机后,显示器还是黑的。 表现为主机启动的声音正常,显示器没有信号接…

网络编程、UDP、TCP

计算机网络 就是将地理位置不同的具有独立功能的多台计算及外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件以及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 目的 传播交流信息、数据交换、通信 如何做…

【k8s资源调度-Deployment】

1、标签和选择器 1.1 标签Label 配置文件&#xff1a;在各类资源的sepc.metadata.label 中进行配置通过kubectl 命令行创建修改标签&#xff0c;语法如下 创建临时label&#xff1a;kubectl label po <资源名称> apphello -n <命令空间&#xff08;可不加&#xff0…

【Ubuntu】通过网线连接两台电脑以实现局域网连接的方法

有时我们需要将多台计算机连接在一起&#xff0c;以便实现数据共享、资源访问等功能。本文将介绍如何通过网线连接两台运行Ubuntu操作系统的电脑&#xff0c;以便它们能够直接通信&#xff0c;从而实现局域网连接。 1. 准备工作 在开始之前&#xff0c;请准备好&#xff1a; …

Java毕业设计-基于ssm的共享型汽车租赁管理系统-第64期

获取源码资料&#xff0c;请移步从戎源码网&#xff1a;从戎源码网_专业的计算机毕业设计网站 项目介绍 基于ssm的共享型汽车租赁管理系统&#xff1a;有配套报告文档&#xff0c;前端jsp、jquery、bootstrap&#xff0c;后端 springmvc、spring、mybatis&#xff0c;集成汽车…

【JVM】StringTable 字符串常量池

目录 一、字符串常量池 二、String的不可变性 三、String的内存分配 四、intern() 方法与 new String() 一、字符串常量池 JVM的字符串常量池&#xff08;String Constant Pool&#xff09;是一块位于方法区&#xff08;Method Area&#xff09;的内存区域&#xff0c;用于…

四、深入学习TensorRT,Developer Guide篇(三)

上一篇文章我们一起看了下TensorRT有哪些特性或者支持哪些功能&#xff0c;这一节我们来详细的从API出发研究一下具体的实现&#xff0c;难度要上升了哦&#xff0c;请系好安全带&#xff0c;准备发车&#xff01; 文章目录 3. The C API3.1 The Build Phase3.1.1 Creating a …

10-pytorch-完整模型训练

b站小土堆pytorch教程学习笔记 一、从零开始构建自己的神经网络 1.模型构建 #准备数据集 import torch import torchvision from torch.utils.tensorboard import SummaryWriterfrom model import * from torch.utils.data import DataLoadertrain_datatorchvision.datasets.…