Docker安装 ▎Docker详细讲解 ▎数据卷挂载 ▎Nginx安装理解

news2024/11/13 11:55:35

前言

Docker是一种容器化技术,简化软件的部署和管理。文章详细解释了Docker的架构、安装步骤和常用命令,帮助用户快速启动和管理容器。还介绍了Docker镜像命令和数据卷挂载的实例,增强对持久化存储的理解,并涵盖了Nginx的安装方法,支持Web应用的使用

Docker概述

什么是docker

  • Docker 是一个应用打包、分发、部署的容器
  • 诞生于2013年,基于Go 语言实现
  • Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上
  • 容器是完全使用沙箱机制,相互隔离
  • 容器性能开销极低
  • 你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而 普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件

Linux软件安装

以前通过yum命令安装软件,是直接把软件安装到Linux系统中,安装和卸载都比较麻烦,因为软件和系统是强关联

Docker是一种容器技术,可以将我们应用和依赖进行打包,制作出一个镜像(软件安装包及相关依赖),可以在Linux,Windows中的docker中运行 

Docker采用沙箱隔离机制,部署运行软件之间相互隔离,与操作系统也是隔离的

Docker架构

Docker实际也是一个小型的虚拟机,一个部署在Linux虚拟机中的管理安装删除等应用管理的一个虚拟机架构. 

  1. 打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
  2. 分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
  3. 部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux

Docker安装

安装yum-utils,配置镜像源需要使用

yum install -y yum-utils

设置更新docker镜像源

yum-config-manager \

--add-repo \

https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装

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

测试docker版本

docker -v

启动常用命令

docker安装成功后并没有启动

启动命令 systemctl start docker

关闭命令 systemctl stop docker

设置开机自动启动 systemctl enable docker

Docker配置

在etc下创建docker目录

mkdir -p /etc/docker

进入docker目录

cd /etc/docker

创建daemon.json文件

touch daemon.json

修改文件

vim daemon.json

{

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

}

注:修改文件操作为更换docker的镜像下载地址

重载配置

systemctl daemon-reload

重启

systemctl restart docker

Docker镜像命令

Docker镜像命令,就是对镜像文件操作的命令

docker pull 镜像名              从远程仓库拉去镜像文件

docker images                   查看本地镜像

docker rmi 镜像名              删除镜像

docker load -i 镜像文件      加载本地镜像

docker build                        从dockerfile构建镜像

docker save                        保存镜像到本地,生成tar文件

docker push                        推送镜像到服务器 

Docker容器命令

docker run 镜像名    创建一个新的容器

docker ps -a             查看容器

docker start 容器名   启动容器

docker stop 容器名   停止容器

docker rm 容器名      删除容器

docker logs 容器名     查看容器日志

注意:删除容器,需要停止运行后,再吧容器删除,然后删除镜像

Docker安装镜像(例mysql)

安装常见参数(docker run命令的常见参数)

  1. --name:指定容器名称
  2. --restart=always 自动启动
  3. --privileged=true 拥有特权
  4. -p:指定端口映射
  5. -d:让容器后台运行

下载镜像

docker pull mysql:8.0

安装

docker run -d -p 3306:3306 \

--name mysql \

--restart=always \

--privileged=true \

-e TZ=Asia/Shanghai \

-e MYSQL_ROOT_PASSWORD=root \

mysql:8.0

进入容器

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

注:我们登录mysql前需要注意我们的mysql密码有没有加密

修改root账号加密方式(以下演示的为作者的加密规则)

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

登录mysql

mysql -uroot -proot

解释代码:

-u  后面跟随的为账号

-p  后面跟随的为账号密码

退出

exit

数据卷挂载

由于容器内的目录操作起来不太方便,例如mysql数据目录,toncat项目部署目录,所以可以在Linux(宿主机)中创建一个目录,在运行镜像时,把宿主机中的目录和容器内目录建立映射关系,后期运行产生数据,就可以存储在宿主机中的映射目录中宿主机中的目录称为数据卷.

例:mysql数据挂载实现

创建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

Nginx

  • Nginx是一款是由俄罗斯的程序设计师所开发高性能的Web服务器(只能运行前端项目,不能运行 java项目)
  • 其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好, 中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等等。
  • Nginx专为性能优化而开发,性能是服务器最重要的考量,实现上非常注重效率,能经受高负载的考验,据报告能支持高达50,000个并发连接数

安装Nginx

拉去镜像

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

 感谢大家的观看,本次分享就到这里。希望我的内容能够对您有所帮助。创作不易,欢迎大家多多支持,您的每一个点赞都是我持续更新的最大动力!如有不同意见,欢迎在评论区积极讨论,让我们一起学习、共同进步!如果有相关问题,也可以私信我,我会认真查看每一条留言。期待下次再见!

                                       希望路飞的笑容可以治愈努力路途中的你我!

博主vx:Dreamkid05 --->欢迎大家和博主讨论问题 

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

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

相关文章

npm切换为淘宝镜像源

要切换 npm 的镜像源,您可以使用以下几种方法: 前言 然而,由于众所周知的网络环境问题,直接使用npm官方源下载依赖包时,常常会遇到速度慢甚至下载失败的情况。因此,使用更稳定、更快速的国内镜像源就显得尤…

C++ (进阶) ─── 多态

目录 1. 多态的概念 1.1 概念 2. 多态的定义及实现 2.1多态的构成条件 2.2 虚函数 2.3虚函数的重写 2.4 C11 override 和 final 2.5 重载、覆盖(重写)、隐藏(重定义)的对比 3. 抽象类 3.1 概念 3.2 接口继承和实现继承 试题: 1. 多态的概念 1.1 概念 …

计算机人工智能前沿进展-大语言模型方向-2024-09-18

计算机人工智能前沿进展-大语言模型方向-2024-09-18 1. The Application of Large Language Models in Primary Healthcare Services and the Challenges W YAN, J HU, H ZENG, M LIU, W LIANG - Chinese General Practice, 2024 人工智能大语言模型在基层医疗卫生服务中的应…

【算法】堆与优先级队列

【ps】本篇有 4 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1)最后一块石头的重量 .1- 题目解析 .2- 代码编写 2)数据流中的第 K 大元素 .1- 题目解析 .2- 代码编写 3)前K个高频单词 .1- 题目解析 .2- 代码编写 4&#xf…

什么是泛在智能?应用在哪些场景?

泛在智能是一个融合了多种技术概念和应用场景的综合性概念,其核心在于通过广泛嵌入的感知和计算设备,以及智能的人机交互界面,实现对环境、人和物的全面感知与智能响应。 定义与背景 泛在智能(Ambient Intelligence)是…

用Python画一个五星红旗

#codingutf-8 import turtle import mathdef draw_polygon(aTurtle, size50, n3): 绘制正多边形args:aTurtle: turtle对象实例size: int类型,正多边形的边长n: int类型,是几边形 for i in range(n):aTurtle.forward(size)aTurtle.left(360.0/n)de…

Koa (下一代web框架) 【Node.js进阶】

koa (中文网) 是基于 Node.js 平台的下一代 web 开发框架,致力于成为应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石; 利用 async 函数 丢弃回调函数,并增强错误处理,koa 没有任何预置的中间件,可快速…

DevExpress WinForms v24.1新版亮点:升级的HTML CSS支持

DevExpress WinForms拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜…

mavlink源码编译及示例使用

1.克隆源码: git clone https://github.com/mavlink/mavlink.git --recursive 克隆成功: 2.克隆python3与pip已安装 3.安装依赖: python3 -m pip install -r pymavlink/requirements.txt

[JavaEE]———进程、进程的数据结构、进程的调度

阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能帮到你! 目录 一:操作系统 1:操作系统的定位和功能 2:多任务操作系统 3&#xff1a…

硬件开篇——体系架构

1、驱动开发分类: 裸机驱动(无操作系统)——由寄存器控制;Linux驱动。 硬件: 计算机系统: 计算机架构:①冯诺依曼(指令、数据一起)②哈佛(指令、数据分开&a…

【BoF】《Bag of Freebies for Training Object Detection Neural Networks》

arXiv-2019 https://github.com/dmlc/gluon-cv 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method4.1 Visually Coherent Image Mixup for Object Detection4.2 Classification Head Label Smoothing4.3 Data Preprocessing4.4 Traini…

如何使用ssm实现理财通的设计与实现

TOC ssm638理财通的设计与实现jsp 第一章 绪论 1.1 选题背景 目前整个社会发展的速度,严重依赖于互联网,如果没有了互联网的存在,市场可能会一蹶不振,严重影响经济的发展水平,影响人们的生活质量。计算机的发展&am…

功能测试干了三年,快要废了。。。

8年前刚进入到IT行业,到现在学习软件测试的人越来越多,所以在这我想结合自己的一些看法给大家提一些建议。 最近聊到软件测试的行业内卷,越来越多的转行和大学生进入测试行业,导致软件测试已经饱和了,想要获得更好的待…

Linux提升篇-服务器BIOS介绍

目录 前言BIOS 概述常用配置进入 BIOS 界面查询 iBMCIP 地址设置 BIOS 系统日期和时间设置服务器启动方式 前言 以下bios介绍适用于大部分2020年之后的服务器,包括Huawei系的鲲鹏CPU架构服务器,X86系也可参考,大部分配置项是一致的。 BIOS …

【Java】线程的同步——synchronized、ReentrantLock

对同一个线程,能否在获取到锁以后继续获取同一个锁? 答案是肯定可以获取同一个锁。因为JVM 允许同一个线程重复获取同一个锁,这种能被同一个线程反复获取的锁,就叫做可重入锁。 一、synchronized同步锁 在 Java中synchronized 同步锁…

HbuilderX自定义快捷键

打开快捷键设置:工具->自定义快捷键 复制想要修改的快捷键设置 修改后记得保存 可以通过该方法找到对应功能的系统默认快捷键

[数据集][目标检测]智慧养殖场肉鸡健康状态检测数据集VOC+YOLO格式4657张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4657 标注数量(xml文件个数):4657 标注数量(txt文件个数):4657 标注…

用ASR PRO离线语音芯片和月饼盒做一个会跑会跳会说话的机器狗

中秋节刚过,大家月饼盒应该还有,不要扔,可以做点小玩意。 机器狗的创意来自B站石桥北的视频,他使用了一块ESP32芯片和打印件加四个舵机实现,应该说是比较复杂的,需要有3D打印机打印外壳,还得会…

Hadoop的一些高频面试题 --- hdfs、mapreduce以及yarn的面试题

文章目录 一、HDFS1、Hadoop的三大组成部分2、本地模式和伪分布模式的区别是什么3、什么是HDFS4、如何单独启动namenode5、hdfs的写入流程6、hdfs的读取流程7、hdfs为什么不能存储小文件8、secondaryNameNode的运行原理9、hadoop集群启动后离开安全模式的条件10、hdfs集群的开机…