当前位置: 首页 > news >正文

Docker--在linux安装软件

Docker

引用Docker原因是在linux中安装软件

以前在linux中安装软件,是直接安装在linux操作系统上,软件和操作系统耦合度很高,不方便管理,因为linux版本不同,环境也就改变了

docker是一种容器技术,提供标准的应用镜像(包含应用+应用的依赖),这样我们就可以非常轻松的在docker中安装应用。每一个应用安装好后,就是一个独立的容器。

总结:docker解决了软件环境迁移问题

主要功能:

1.打包:可以把软件以及软件的依赖打包制作成一个镜像(例如后面吧springboot和jdk)

2.分发:你可以把你打包好的“安装包”上传到镜像仓库,其他人也可以很方便的获取和安装

3.部署:拿着"安装包"就可以一个命令运行起来你的应用,自动模拟出一模一样的运行环境,不管是在Windows/Mac/Linux

主要概念:

仓库(Repository):是docker提供的一个用来保存镜像的仓库

镜像(Image):镜像就是一个可执行的包,用来创建容器,docker中每一个软件就是一个镜像(包含应用+应用的依赖)

容器(Container):容器就是镜像运行时的实体。容器可以被创建,启动,停止,删除,暂停等。

Docker安装:

1.安装yum配置工具:

yum install -y yum-utils

2.配置docker的yum源

yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装:

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

4.启动常用命令

docker安装成功后并没有启动,
启动命令
systemctl start docker
关闭命令
systemctl stop docker
设置开机自动启动
systemctl enable docker

5.测试docker版本:

docker -v

Docker卸载:

1.停止服务

systemctl stop docker

2.卸载

yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

3.删除文件

rm -rf /var/lib/docker
rm -rf /var/lib/containerd

Docker配置:

配置镜像加速

1.在etc下创建docker目录

mkdir -p /etc/docker

2.进入docker目录

cd /etc/docker

3.创建daemon.json文件

touch daemon.json

4.修改文件

vim daemon.json
{
"registry-mirrors": ["https://dockerhub.icu"]
}

5.重载配置

systemctl daemon-reload

6.重启

systemctl restart docker

Docker服务命令:

1.Docker镜像命令

查看镜像列表:

docker images

从docker仓库拉去镜像到本地仓库:

docker pull mysql:8.0

删除本地镜像:

docker rmi mysql:8.0

从dockerfile构建镜像:

docker build

保存镜像到本地,生成tar文件(tar是linux中的压缩文件格式)

docker save > mysql.tar

载入本地镜像:

docker load < mysql.tardocker load -i <镜像文件>.tar

'-i’选项表示输入文件,这样 Docker 知道从哪里读取镜像数据。如果不加'-ì',默认是从标准输入读取数据,因此需要加上'-ì和文件名来指定镜像文件。

推送镜像到服务器(目前用不到):

docker push

Docker容器命令

1.创建一个新的容器并运行:

docker run 镜像名

2.查看

docker ps -a

3.启动容器

docker start mysql

4.停止mysql

docker stop mysql

5.删除容器(卸载软件)

docker rm mysql

6.查看容器日志

docker logs mysql

安装Mysql

1.下载mysql镜像

在线下载:

docker pull mysql:8.0

加载本地镜像

docker load < mysql.tardocker load -i <镜像文件>.tar

2.安装

docker run -d -p 3306:3306 \		
//-p:指定端口映射 3306:3306端口号映射    -d:让容器后台运行
--name mysql \						//指定容器名称
--restart=always \					//自动启动
--privileged=true \					//拥有特权
-e TZ=Asia/Shanghai \				//时区
-e MYSQL_ROOT_PASSWORD=root\		//密码
mysql:8.0							//镜像

3.进入到容器

docker exec -it 容器名/容器id bash

4.登录mysql

mysql -uroot -proot

5.修改root账号加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'

6.退出

exit

7.进入mysql把sql备份,然后新建一个连接,连接到虚拟机,在新的连接中打开备份的数据库

镜像和容器

镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。

容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对 外不可见。

数据卷挂载

数据卷是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。 它将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生的数据。 在执行docker run命令时,使用-v数据卷:容器内目录可以完成数据卷挂载。

创建mysql数据卷

mkdir -p /opt/mysql/data

安装

docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /opt/mysql/data:/var/lib/mysql \		//数据卷映射
mysql:8.0

安装后续可看上述mysql安装步骤

Docker安装nginx

Nginx是一款是由俄罗斯的程序设计师所开发高性能的 Web服务器(只能运行前端项目,不能运行 java项目)。

其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好, 中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等等。

Nginx专为性能优化而开发,性能是服务器最重要的考量,实现上非常注重效率,能经受高负载的 考验,据报告能支持高达50,000个并发连接数。

拉取镜像:
docker pull nginx:1.24
创建数据卷:
mkdir -p /opt/nginx/html
安装命令:
docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx:1.24
访问:
自己的ip:80

其中 -v /opt/nginx/html 就是与容器中对应的一个在宿主机中的数据卷 我们只需要将文件部署到宿主机的/opt/nginx/html目录下即可

相关文章:

Docker--在linux安装软件

Docker 引用Docker原因是在linux中安装软件 以前在linux中安装软件&#xff0c;是直接安装在linux操作系统上&#xff0c;软件和操作系统耦合度很高&#xff0c;不方便管理&#xff0c;因为linux版本不同&#xff0c;环境也就改变了 docker是一种容器技术&#xff0c;提供标…...

知识库与RAG

认识知识库的技术原理 第一步&#xff1a;&#x1f4d6;➡️&#x1f4c8;将文档的文本转换为向量&#xff0c;向量存储到向量数据库。第二步&#xff1a;&#x1f5e8;️➡️&#x1f50d;将用户的提问内容转换成向量&#xff0c;在向量数据库中检索相似的文本内容&#xff0…...

【2024最新】C++扫描线算法介绍+实战例题

扫描线介绍&#xff1a;OI-Wiki 【简单】一维扫描线&#xff08;差分优化&#xff09; 网上一维扫描线很少有人讲&#xff0c;可能认为它太简单了吧&#xff0c;也可能认为这应该算在差分里&#xff08;事实上讲差分的文章里也几乎没有扫描线的影子&#xff09;。但我认为&am…...

语言主要是一种交流工具,而不是思维工具?GPT5何去何从?

引言 在人工智能领域&#xff0c;特别是大语言模型&#xff08;LLM&#xff09;的发展中&#xff0c;语言和思维的关系一直是一个备受关注的话题。近期&#xff0c;麻省理工学院&#xff08;MIT&#xff09;在《Nature》杂志上发表了一篇题为《Language is primarily a tool f…...

传感器标定(三)激光雷达外参标定(lidar2ins)

一、数据采集 1、LiDAR 传感器的 LiDAR PCD 数据 2、来自 IMU 传感器的姿势文件 3、手动测量传感器之间外部参数初始值并写入的 JSON 文件 二、下载标定工具 //总的git地址&#xff1a; https://github.com/PJLab-ADG/SensorsCalibration git地址&#xff1a; https://githu…...

【漏洞复现】Crocus系统—Download 文件读取

声明&#xff1a;本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动&#xff0c;将与本文档的作者或发布者无关。 一、漏洞描述 Crocus系统中的Download文件读取漏洞允许未经身份验证的攻击者通过特定请求读取系统上的任意文件。Crocu…...

游戏开发面试题1

说说对单例模式的了解 单例模式&#xff08;Singleton Pattern&#xff09;是一种设计模式&#xff0c;其目的是确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。这在某些情况下非常有用&#xff0c;比如需要一个唯一的配置管理器、日志记录器、或资源管…...

线程池笔记

笔记梳理 前言.PHONYC标准库头文件C/C通用或C特有头文件mkdirc_str()snprintfvsnprintfumaskopen函数可变参数列表va_startva_endfunctionalstatic_castpthread_cond_init_threads.emplace_backstd::bindstd::placeholdersThreadPool(const ThreadPool<T> &tp) dele…...

Go语言基础数据类型、变量及自增语法

本文内容为Go语言的基础数据类型、变量定义和赋值及自增语法介绍。 目录 基础数据类型 变量 先定义后赋值 定义时直接赋值 自动推导定义赋值 平行赋值 自增语法 总结 基础数据类型 int,int8 intl6, int32, int64 uint8... uint64 float32,float64 true/false 变量 …...

ES6-ES13符号:单双引号、变量的解构赋值、占位符 、字符串模版`${} `、扩展运算符...、?,??,_,||=,=,in

原型、this、闭包&#xff0c;for四类循环&#xff0c;ES6-14&#xff08;2023&#xff09;_es6-es14-CSDN博客 目录 查看ES版本 单双引号&#xff1a;无区别 变量的解构赋值&#xff1a;声明变量被数组/对象中的元素赋值 推荐用const&#xff0c;因为是从其他地方获取值 …...

【远景能源25届校招PI测评】题型深度解析与应试策略

摘要&#xff1a; 远景能源作为新能源行业的领军企业&#xff0c;其校园招聘备受瞩目。本文将深入分析25届远景能源校招的PI测评题型&#xff0c;为求职者提供全面的备考指南。 正文&#xff1a; 尊敬的求职者们&#xff0c;您是否正准备迎接远景能源的校招挑战&#xff1f;P…...

关于Qt Creator 使用Qt Quick的Design模式设置

关于使用Qt Quick的Design模式设置&#xff1a; 如描述所言&#xff1a; 如果使用Design模式打开qml文件失败显示如下&#xff1a; 首先确认自己是否安装了Qt Design Studio 如果安装了仍然不显示&#xff0c;则需要勾选下面三个地方才能用Design模式打开.ui.qml文件&#…...

Spring常见问题一:IOC和DI

IOC和DI IOC和DI之间到底是什么关系&#xff1f; 什么是依赖关系&#xff1f;依赖关系会带来什么问题&#xff1f;Spring是怎么来支持依赖注入的&#xff1f; 引言 在现代软件开发中&#xff0c;面向对象编程&#xff08;OOP&#xff09;已经成为主流编程范式。然而&#xff0…...

LabVIEW红外热波图像缺陷检

开发使用LabVIEW开发的红外热波图像缺陷检测系统。该系统结合红外热像仪、工业相机和高效的数据采集硬件&#xff0c;实现对工件表面缺陷的自动检测和分析。通过LabVIEW的强大功能&#xff0c;系统能够实时采集、处理和显示红外热波图像&#xff0c;有效提高了检测的精度和效率…...

c#与欧姆龙PLC通信——如何更改PLC的IP地址

前言 我们有时候需要改变欧姆龙Plc的ip地址,下图有两种更改方式,一种是已知之前Plc设置的Ip地址,还有一种是之前不知道Pl的Ip地址是多少,下面分别做介绍。 1、已知PLC的IP地址的情况下更改地址 假设已知PLC的Ip地址,比如本文中PLC的IP为192.168.1.2,我首先将电脑的IP地…...

[Spring Boot]定时任务因系统时间修改之后无法执行

问题描述 当Spring Boot启动时&#xff0c;当前时间为2024-01-01 00:00:00。 此时你创建了任务&#xff1a; 每10秒钟触发一次定时任务 Scheduled(cron "0/10 * * * * ? ") public void scheduledTask() { }此时你手动修改了系统时间&#xff0c;修改为2023-12-0…...

【棋盘上的战舰】python刷题记录

目录 小前言 思路&#xff1a; 上代码 lucky ending 小前言 经过漫长的停更周期-----1个月 我决定铁血回归&#xff01;&#xff01;&#xff01; 思路&#xff1a; 两层for循环暴力最快了这种小小范围题&#xff0c;主要是第一行和第一列的边界处理&#xff0c;我分为…...

NoSQL 之Redis集群

Redis集群 主从复制 主从复制&#xff08;Replication&#xff09;是 Redis 中一种基本的高可用架构模式&#xff0c;适用于简单的读写分离需求和基本的故障恢复。在主从复制中&#xff0c;一个 Redis 主节点可以拥有多个从节点&#xff0c;主要特点包括&#xff1a; 角色定义&…...

ES13的4个改革性新特性

1、类字段声明 在 ES13 之前,类字段只能在构造函数中声明, ES13 消除了这个限制 // 之前 class Car {constructor() {this.color = blue;this.age = 2...

Flutter EasyRefresh:介绍与使用指南

什么是 Flutter EasyRefresh&#xff1f; Flutter EasyRefresh 是一个强大的下拉刷新和上拉加载组件&#xff0c;用于构建流畅且高效的 Flutter 应用程序。它提供了多种自定义配置和动画效果&#xff0c;使开发者可以轻松实现列表的刷新和加载功能。 主要功能 支持下拉刷新和…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...