Linux发行版CentOS 8 利用Docker安装应用

news2024/12/24 18:23:55

目录

一、什么是Docker?

主要功能:

二、安装Docker

        1.安装yum配置工具

        2.配置docker的yum源

        3.安装

        4.测试

        5.启动,关闭,开机自启动

三、卸载Docker

        1.停止服务

        2.卸载

        3.删除文件

四、Docker配置镜像源

        1.在etc下创建docker目录

        2.进入docker目录

        3.创建daemon.json文件

        4.修改文件

        5.重载配置

        6.重启

五、Docker命令

        1.镜像操作命令

        (1)从镜像仓库下载镜像到本地

        (2)查看本地镜像

         (3)删除docker镜像

        (4)从docker保存镜像到Linux本地

        (5)从Linux本地加载镜像到docker中

        2.容器操作命令

        (1)通过镜像安装

        (2)查看容器

        (3)启动镜像

        (4)停止容器

        (5)删除容器(卸载)

六、利用Docker安装应用

        1.安装MySQL

        (1)下载mysql镜像

        (2)安装mysql容器

        (3)启动,停止,删除容器

        (4)进入到容器中的命令行

        (5)退出

        2.数据卷挂载

        (1)创建mysql数据卷

        (2)安装

        3.安装Nginx

        (1)拉取镜像

        (2)创建数据卷

        (3)安装命令


一、什么是Docker?

        在Linux中安装软件:

        以前在Linux中安装软件,是直接安装在Linux操作系统中,软件和操作系统耦合度很高,不方便管理。

        因为Linux版本不同,环境也就不同了。

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

特点:解决软件跨环境迁移的问题

主要功能:

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

        分发:可以把打包好的镜像上传到镜像仓库,或者其他的Linux系统中

        部署:可以非常方便的进行安装,只需要一个命令即可

二、安装Docker

        Docker是一个用来安装软件的工具,但是安装Docker还得需要利用yum来安装

        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 -v

        5.启动,关闭,开机自启动

        为了方便我们使用方便,建议设置开机自动启动

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

三、卸载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.修改文件

 touch daemon.json

        地址之后可能无法使用,可能需要重新找配置地址

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

        5.重载配置

systemctl daemon-reload

        6.重启

(如果重启失败,很有可能是daemon文件中的配置的格式有误)

systemctl restart docker

五、Docker命令

        1.镜像操作命令

        (1)从镜像仓库下载镜像到本地

docker pull
例如 docker pull mysql:8.0

        (2)查看本地镜像

docker images

         (3)删除docker镜像

docker rmi 镜像名:版本/镜像id

        (4)从docker保存镜像到Linux本地

        (需要保存到Linux中那个目录,进入到那个目录执行保存命令)

docker save 镜像名 > 镜像名.tar

        (5)从Linux本地加载镜像到docker中

docker save 镜像名 > 镜像名.tar

        2.容器操作命令

        (1)通过镜像安装

docker run 镜像名

        (2)查看容器

docker ps -a

        (3)启动镜像

docker start 容器名

        (4)停止容器

docker stop 容器名

        (5)删除容器(卸载)

docker rm 容器名

六、利用Docker安装应用

        1.安装MySQL

        (1)下载mysql镜像

        在线下载 docker pull mysql:8.0

        加载本地镜像 docker load

        (2)安装mysql容器

docker run
	参数
例:docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0

        (3)启动,停止,删除容器

docker start 容器名	启动容器
docker stop 容器名	停止容器
docker rm 容器名	删除容器
docker logs 容器名	查询容器日志

        (4)进入到容器中的命令行

docker exec -it 容器名 bash

        (5)退出

exit

        2.数据卷挂载

容器是封闭的,与外界隔离的,如果需要操作容器内的文件不方便

可以将容器内的目录与容器外(Linux)中的目录建立映射 挂载

        (1)创建mysql数据卷

mkdir -p /opt/mysql/data

        (2)安装

与上面的安装相比,多了一行用来将数据存放在建立的数据卷中的代码指令

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

        3.安装Nginx

        nginx是一个高性能的前端程序服务器,支持最大50000个并发连接

        (1)拉取镜像

docker pull nginx:1.24

        (2)创建数据卷

mkdir -p /opt/nginx/html

        (3)安装命令

docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx:1.24

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

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

相关文章

【大模型时代的PDF解析工具】

去年(2023年)是大模型爆发元年。但是大模型具有两个缺点:缺失私有领域知识和幻觉。缺失私有领域知识是指大模型训练时并没有企业私有数据/知识,所以无法正确回答相关问题。并且在这种情况下,大模型会一本正经地胡说八道…

JavaEE--JavaWeb服务器的安装配置(Tomcat服务器安装配置)

前言: 本文介绍了 Java Web 服务器 Tomcat 的安装配置,并详细说明了如何在 IntelliJ IDEA 中配置服务器,创建 JavaEE 项目,并发布文章。文章首先解释了前端程序如何访问后端程序以及 Web 服务器的概念,然后详细介绍了安装 Tomcat…

VirtualBox虚拟机与主机互传文件的方法

建立共享文件夹 1.点击设置,点击共享文件夹,添加共享文件夹路径,保存 2.启动虚拟机,点击设备,点击安装增强功能,界面会出现一个光碟图标,点击光碟图标 3.打开光碟图标,出现一个目…

Vue3渐变文字(GradientText)

效果如下图:在线预览 APIs GradientText 参数说明类型默认值必传gradient文字渐变色参数string | Gradientundefinedfalsesize文字大小,不指定单位时,默认单位 pxnumber | string14falsetype渐变文字的类型‘primary’ | ‘info’ | ‘succ…

【大模型】FAISS向量数据库记录:从基础搭建到实战操作

文章目录 文章简介Embedding模型BGE-M3 模型亮点 FAISS是什么FAISS实战安装faiss加载Embedding模型创建FAISS数据库搜索FAISS数据删除FAISS数据保存、加载FAISS索引 总结 本人数据分析领域的从业者,拥有专业背景和能力,可以为您的数据采集、数据挖掘和数…

Java语言程序设计基础篇_编程练习题**14.29(游戏:豆机)

第十四章第二十九题 **14.29 (游戏:豆机) 请写一个程序,显示编程练习题 7.21 中介绍的豆机,如图 14-52c 所示 代码展示 package chapter_14;import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layou…

易保全参与起草的两项区块链全国团体标准正式发布

在数字化转型浪潮席卷全球的今天,区块链技术以其去中心化、透明性、不可篡改等独特优势,正逐步成为重塑各行各业信任机制与业务流程的关键力量。 近日,中国通信工业协会正式发布了《区块链服务 基于区块链的去中心化标识符技术要求》与《区块…

什么是反向代理?

这里写目录标题 一、什么是反向代理?二、反向代理的工作原理三、使用反向代理的好处四、反向代理的风险 在网络领域中,代理服务器是一种常见的技术,用于转发客户端和服务器之间的请求和响应。代理服务器又可以分为反向代理和正向代理两种类型…

QT实现图片开关控件-自定义控件

开关按钮大家应该很熟悉,在设置里面经常遇到,切换时候的滑动效果比较帅气。通常说的开关按钮,有两个状态:on、off。大部分的开关按钮控件,基本上有两大类,第一类是纯代码绘制,这种对代码的掌控度…

SD-WAN组网搭建5G备份方案实现方式

SD-WAN(Software-Defined Wide Area Network,软件定义广域网)结合5G作为备份链路是现代企业网络弹性策略的一部分,尤其是在需要高可用性和快速故障切换的场景下。以下是实现SD-WAN组网并集成5G备份方案的一般步骤: 1. …

Spring完整知识点汇总一

Spring简介 额外知识点 在之前的学习中我们在Service业务层创建Dao/Mapper数据访问层(持久层)的对象是通过工具类来获取对应Dao/Mapper数据访问层(持久层)的接口代理对象在此处我们不用工具类来获取对应Dao/Mapper数据访问层&…

WebPack5.0 快速入门

前端工程化WebPack5️⃣ 前置知识: 此文章属于前端——框架进阶篇,需要实现掌握:HTMLCSSJS三件套、Node... 😀推荐分享一波个人Blog文档: JavaScript、前端工程\模块化、邂逅Node.JS的那一夜 什么是WebPack❓ Web…

飞凌全志T527开发板modbus移植使用教程

交叉编译 进入到源码目录,执行 ./configure ac_cv_func_malloc_0_nonnullyes --hostaarch64-none-linux-gnu --enable-static --prefix/home/feng/文档/development/Linux/application/OK527N/libmodbus-3.1.10/install/其中–host为交叉编译器的前缀;…

谈一谈一条SQL的查询、更新语句究竟是如何执行的?

文章目录 理解执行流程衍生知识redo logbinlog 本篇文章是基于《MySQL45讲》来写的个人理解与感悟。 理解 先看下图: 上一篇文章我们讨论了一条SQL查询语句的执行流程,并介绍了执行过程中涉及的处理模块。 回顾一下: 大体来说,…

RK3568笔记三十九:多个LED驱动开发测试(设备树)

若该文为原创文章,转载请注明原文出处。 通过设备树配置一个节点下两个子节点控制两个IO口,一个板载LED,一个外接LED。 一、介绍 通过学习设备树控制GPIO,发现有多种方式 一、直接通过寄存器控制 二、通过设备树,但…

【中项】系统集成项目管理工程师-第一模块:IT技术和管理-1.5数字化转型与元宇宙

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 备注:IT技术和管理-1.4章节涉及敏感,无法发送,故跳过。 软考同样是国家人社部和工信部组织的国家级考试…

工业三防平板适用于各种工业场景

在当今高度工业化的时代,工业三防平板作为一种专为恶劣工业环境设计的设备,正逐渐成为各种工业场景中不可或缺的一部分。 工业三防平板具备出色的防水、防尘和防摔性能,这使得它能够在潮湿、多尘以及容易发生碰撞的环境中稳定运行。无论是在矿…

“富二代”用英语怎么说?真的不是“second rich”!成人英语学习柯桥学外语到蓝天广场

看了沈腾马丽新电影《抓娃娃》,笑得前仰后合。遇上“不靠谱”的爹妈硬是要穷养孩子,就算是“富二代”日子也不好过啊! 想必很多人小时候都幻想过:自己的爸妈其实是大富豪,为了磨练自己才假装没钱的。随着逐渐长大才不得…

【内网Tesla T4_16G为例】GPU安装NVIDIA Driver、CUDA、cuDNN、Python

这篇文章主要记录下在内网(无法连接外网)服务器安装NVIDIA Driver、CUDA、cuDNN、Python的过程,机器配置GPU:1*NVIDIA T4 16G,CPU:8C42G,操作系统:GPU-RHEL7.9-x86-64。 想了解如何内网部署ollama&#xf…

数据结构(双向链表)

链表的分类 链表的结构⾮常多样,以下情况组合起来就有8种(2 x 2 x 2)链表结构: 虽然有这么多的链表的结构,但是我们实际中最常⽤还是两种结构:单链表和双向带头循环链表 1.⽆头单向⾮循环链表&#xff1a…