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

Docker基本讲解及演示

Docker安装教程

Docker安装教程

1、Docker介绍

Docker是一个开源的应用容器引擎,允许开发者将应用程序及其依赖项打包成一个轻量级、可移植的容器,然后发布到任何支持 Docker 的环境中运行,无论是开发机、测试机还是生产环境。

Docker基于沙箱技术,每个容器都有自己的独立运行环境,包括操作系统、库文件、配置等,实现了资源隔离和轻量级迁移。

2、Docker三要素

  • 镜像(image):镜像就是一个只读的模板,包含了运行容器所需的文件系统、配置参数、库和运行时环境等。
  • 容器(container):容器是代码的隔离环境,可以理解为一台独立的服务器
  • 仓库(repository):仓库中存储了一堆镜像,可以拉取或向其推送镜像

3、Docker常用命令

一:docker本身相关命令

  • 启动 docker
systemctl start docker
  • 关闭 docker
systemctl stop docker
  • 重新启动 docker
systemctl restart docker
  • 查看 docker 运行状态
systemctl status docker
  • 查看 docker 版本
docker -v

二:镜像(image)

1.镜像的查看、搜索、拉取、删除
  • 列出本地所有镜像【查看】
docker images
结果展示:REPOSITORY   TAG       IMAGE ID       CREATED       SIZEnginx        latest    605c77e624dd   2 years ago   141MBmysql        latest    3218b38490ce   2 years ago   516MB...
  • 搜索镜像
docker search 镜像名	  		# 搜索与【镜像名】匹配的镜像
如:docker search nginx
  • 拉取镜像
docker pull 镜像名:版本号
如:docker pull nginx		# 不写版本默认为最新版
  • 删除镜像
docker rmi 镜像名
如:docker rmi nginx	# 删除 ngnix 镜像
2.移植镜像
  • 保存镜像
docker save -o nginx.tar nginx  #将镜像nginx导出,形成本地文件nginx.tar.tar
注意:移植到其他服务器记得给tar包加上可读权限
  • 加载镜像
docker load -i nginx.tar	#将镜像nginx从本地文件nginx.tar中加载出来

三:容器(container)

1.容器的查看、创建、启动、关闭、重启、删除
  • 查看容器
docker ps 		# 查看已安装并正在运行的容器
docker ps -a	# 查看所有容器
  • 创建容器并运行
docker run 配置 别名
常用配置:--name=NAME   		# 为容器指定名字为NAME,不使用的话系统自动为容器命名【容器名】--restart=always	# 容器退出后自动重新启动,保证容器服务的可靠性和持续可用性。--privileged=true	# 授予容器内进程访问宿主机上所有设备的权限-p 容器端口号:主机端口号		# 指定端口映射-v	文件夹:文件夹		# 目录的映射【docker容器与虚拟机共享同一个目录】-d	IMAGE_ID		# 后台运行容器并返回容器ID,即启动守护式容器(后台运行)# 创建并允许 Nginx 容器
docker run --name nginx -p 80:80 -d 605c77e624dd nginx
  • 启动容器
docker start 容器名
如:docker start nginx
  • 关闭容器
docker stop 容器名
如:docker stop nginx
  • 重启容器
docker restart 容器名
如:docker restart nginx
  • 删除容器
docker rm 容器名
如:docker rm nginx
2.查看容器日志
docker logs 容器名
如:docker logs ngnix
3.容器重命名
docker rename 原来的容器名 新的容器名
4.进入与退出指定容器
# 进入指定容器
docker exec -it 【IMAGE_ID|容器名】 /bin/bash
如:docker exec -it 3218b38490ce /bin/bash	【进入mysql】# 退出容器【从容器回到虚拟机】
exit

4、Docker的实际演示

一:mysql安装

docker search mysql 		# 找到合适的mysql镜像
docker pull mysql			# 下载镜像(默认最新版本)# 安装mysql容器并运行
docker run \--name mysql8 \	--restart=always \--privileged=true \-e MYSQL_ROOT_PASSWORD='123456' \-p 3306:3306 \-v /opt/software/mysql_docker_3308:/mysql_share \-d  3218b38490cedocker ps								# 查看已安装并正在运行容器
docker exec -it mysql8 /bin/bash		# 进入mysql容器
exit									# 退出mysql容器

主要参数讲解

--name mysql8:给容器取名为mysql8

--restart=always:每当docker启动时总能启动mysql8容器

-e MYSQL_ROOT_PASSWORD:mysql密码

-p 3308:3306:映射容器的3306端口到宿主机的3308端口,外部主机可以直接通过宿主机ip:3308访问到容器的mysql8服务。

-d 3218b38490ce:后台模式下运行指定容器【-d 镜像ID】

Docker中的Mysql与外网连接测试

二:Redis安装

docker search redis				# 找到合适的redis镜像
docker pull redis				# 下载redis镜像(默认最新版本)# 安装redis容器并运行
docker run \--name Redis \--restart=always \--privileged=true \-e MY_REDIS_PASSWORD='123456' \-p 6379:6379 \-d  7614ae9453d1docker ps								# 查看正在运行的容器
docker exec -it mysql8 /bin/bash		# 进入redis容器
exit									# 退出redis容器

主要参数讲解

--name Redis:给容器取名为Redis

--restart=always:每当docker启动时总能启动Redis容器

-e MY_REDIS_PASSWORD:设置Redis的访问密码为123456

-p 6379:6379:映射容器的6379端口到宿主机的6379端口,外部主机可以直接通过宿主机ip:6379访问到容器的Redis服务。

-d 7614ae9453d1:后台模式下运行指定容器【-d 镜像ID】

相关文章:

Docker基本讲解及演示

Docker安装教程 Docker安装教程 1、Docker介绍 Docker是一个开源的应用容器引擎,允许开发者将应用程序及其依赖项打包成一个轻量级、可移植的容器,然后发布到任何支持 Docker 的环境中运行,无论是开发机、测试机还是生产环境。 Docker基于…...

各类专业技术的pdf电子书

从业多年,收集了海量的pdf电子书籍,感兴趣的私聊。...

【Linux】多线程_9

文章目录 九、多线程10. 线程池 未完待续 九、多线程 10. 线程池 这里我没实现一些 懒汉单例模式 的线程池,并且包含 日志打印 的线程池: Makefile: threadpool:Main.ccg -o $ $^ -stdc11 -lpthread .PHONY:clean clean:rm -f threadpoolT…...

LabVIEW设备检修信息管理系统

开发了基于LabVIEW设计平台开发的设备检修信息管理系统。该系统应用于各种设备的检修基地,通过与基地管理信息系统的连接和数据交换,实现了本地检修工位数据的远程自动化管理,提高了设备的检修效率和安全性。 项目背景 现代设备运维过程中信…...

python爬虫基础:使用lxml库进行HTML解析和数据提取的实践指南

使用lxml库进行HTML解析和数据提取的实践指南 在Python编程中,网页抓取和数据提取是一项常见任务。lxml库因其高效性和强大的XPath支持,成为了处理HTML和XML文档的优选工具。本文将带你了解如何使用lxml来解析HTML文档并提取所需数据。 1. 安装lxml库 …...

大语言模型系列:Transformer

在自然语言处理(NLP)领域,Transformer模型自2017年由Vaswani等人在论文《Attention Is All You Need》中提出以来,已成为最具影响力的技术之一。这种模型设计的核心是自注意力机制,它允许模型在处理序列数据时&#xf…...

宠物健康新守护:智能听诊器引领科技突破

在宠物护理领域,一项令人瞩目的科技创新正逐渐兴起,那便是智能听诊器。这款革命性的设备以前所未有的准确性和便利性,为宠物主人提供了一种全新的健康监测体验。 只需将智能听诊器轻轻放置在爱宠的身上,它便立即开始工作&#xf…...

KITTI 3D 数据可视化

引言 KITTI 视觉基准测试套件(KITTI Vision Benchmark Suite)提供了大量用于理解自动驾驶场景的工具。尤其是3D数据可视化在分析和解释传感器(如激光雷达)与环境的复杂交互中起到了至关重要的作用。本文将详细探讨KITTI数据集中3…...

旅游数据可视化:免费工具让复杂数据变得简单易懂

随着旅游业的蓬勃发展,海量的数据如同繁星点点,记录着每一位旅者的足迹与偏好。然而,如何将这些复杂的数据转化为直观、易懂的信息,为旅游企业精准决策、为消费者提供更加个性化的服务,成为了行业内外共同关注的焦点。…...

数据结构进阶:使用链表实现栈和队列详解与示例(C, C#, C++)

文章目录 1、 栈与队列简介栈(Stack)队列(Queue) 2、使用链表实现栈C语言实现C#语言实现C语言实现 3、使用链表实现队列C语言实现C#语言实现C语言实现 4、链表实现栈和队列的性能分析时间复杂度空间复杂度性能特点与其他实现的比较…...

【线程系列之五】线程池介绍C语言

一、基本概念 1.1 概念 线程池(Thread Pool)是一种基于池化技术管理线程的机制,旨在减少线程创建和销毁的开销,提高系统资源的利用率,以及更好地控制系统中同时运行的线程数量。线程池通过预先创建一定数量的线程&am…...

【学习css3】使用flex和grid实现等高元素布局

过往的实现方法是使用浮动加计算布局来实现,当flex和grid问世时,这一切将变得简单起来 一、简单的两列实现 1、先看页面效果 2、css代码 .container {padding: 10px;width: 100ch;margin: 0 auto;box-shadow: inset 0 0 0 2px #ccc;}.column {margin: 2…...

如何防止Eclipse格式化程序在行注释开头插入空格

格式化前: //foo bar 格式化后: // foo bar 这种看着不是很舒服。如果不让格式化时自动在注释符后面插入空格呢? 要在Eclipse中进行代码格式化时防止在行注释(‌//)‌后面自动增加空格,‌可以通过调整…...

Nextjs 调用组件内的方法

在 Next.js 中,如果你想从一个组件外部调用组件内部的方法,可以使用 React 的 useRef 钩子来引用组件实例并调用其方法。这种方法主要适用于类组件,但也可以用于函数组件,通过将方法暴露在 ref 对象上。 以下是一个示例&#xff…...

ip地址是电脑还是网线决定的

在数字化时代的浪潮中,网络已经成为了我们日常生活和工作不可或缺的一部分。当我们谈论网络时,IP地址无疑是一个核心的概念。然而,关于IP地址的分配和决定因素,很多人可能存在误解。有些人认为IP地址是由电脑决定的,而…...

Hadoop中HDFS、Hive 和 HBase三者之间的关系

HDFS(Hadoop Distributed File System)、Hive 和 HBase 是 Hadoop 生态系统中三个重要的组件,它们各自解决了大数据存储和处理的不同层面的问题。我们用大白话来解释这三个组件之间的关系: HDFS - 数据的仓库: HDFS 是…...

opencv—常用函数学习_“干货“_10

目录 二七、离散余弦变换 执行离散余弦变换 (dct) 和逆变换 (idct) 解释 实际应用 JPEG压缩示例(简化版) 二八、图像几何变换 仿射变换 (warpAffine 和 getAffineTransform) 透视变换 (warpPerspective 和 getPerspectiveTransform) 旋转变换 (g…...

Jmeter二次开发Demo

Jmeter二次开发Demo 前言 在上一集,我们已经完成了JMX脚本的分析,大致了解了JMX脚本的基本元素。 那么在这一集,我们将会介绍一下Jmeter二次开发的Demo。 Demo代码 那么话不多说,我们就直接上代码。 public class TestStress…...

MongoDB综合实战篇(超容易)

一、题目引入 在MongoDB的gk集合里插入以下数据: 用语句完成如下功能: (1)查询张三同学的成绩信息 (2)查询李四同学的语文成绩 (3)查询没有选化学的同学 (4&#xf…...

框架设计MVVM

重点&#xff1a; 1.viewmodel 包含model 2.view包含viewmodel,通过驱动viewmodel去控制model的数据和业务逻辑 // Test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <vector>using namespace std;#p…...

Qwen2.5深度微调成果展示|像素剧本圣殿在武侠/赛博朋克题材表现

Qwen2.5深度微调成果展示&#xff5c;像素剧本圣殿在武侠/赛博朋克题材表现 1. 项目概览 像素剧本圣殿&#xff08;Pixel Script Temple&#xff09;是基于Qwen2.5-14B-Instruct深度微调的专业剧本创作工具。这个独特的创作环境将先进的大语言模型能力与8-Bit复古美学完美融合…...

FocalNet目标检测、实例分割模型环境配置FocalNet目标检测、实例分割模型数据集调整FocalNet目标检测、实例分割模型代跑训练FocalNet目标检测、实例分割改进创新Focal

FocalNet目标检测、实例分割模型环境配置 FocalNet目标检测、实例分割模型数据集调整 FocalNet目标检测、实例分割模型代跑训练 FocalNet目标检测、实例分割改进创新 FocalNet环境配置&#xff1a;Windows、Ubuntu、Centos、Macos等系统环境&#xff0c;如果电脑拥有显卡&#…...

6 鸿蒙应用启动速度优化全流程拆解 | 鸿蒙开发筑基实战

6 鸿蒙应用启动速度优化全流程拆解 | 鸿蒙开发筑基实战 作者&#xff1a;杨建宾&#xff08;华夏之光永存&#xff09; 摘要 本文面向鸿蒙应用开发工程师&#xff0c;聚焦应用启动慢、首屏白屏等核心痛点&#xff0c;拆解从代码配置到资源处理的全流程优化方案。内容包含启动流…...

OpenClaw故障排查大全:千问3.5-27B接口调用常见错误解决

OpenClaw故障排查大全&#xff1a;千问3.5-27B接口调用常见错误解决 1. 开篇&#xff1a;当OpenClaw遇上千问3.5-27B 上周深夜&#xff0c;我的OpenClaw突然罢工了——一个原本运行良好的自动化脚本在调用千问3.5-27B模型时频繁报错。作为个人效率工具的重度用户&#xff0c;…...

百考通:AI精准赋能实践报告,让实习总结高效又专业

对于每一位在校学生和职场新人而言&#xff0c;实践报告都是记录成长、沉淀经验的关键载体&#xff0c;却也常常成为令人头疼的难题&#xff1a;要么不知如何梳理工作脉络&#xff0c;要么难以精准提炼收获与反思&#xff0c;要么在格式规范和字数要求上反复纠结。百考通&#…...

如何通过智慧树自动化学习助手解决网课学习效率问题

如何通过智慧树自动化学习助手解决网课学习效率问题 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 副标题&#xff1a;面向时间紧张学习者的智能网课辅助工具 一、价…...

别再只跑Demo了!手把手教你用TensorFlow训练自己的谷物分类模型(11类数据集)

从零构建高精度谷物分类模型&#xff1a;TensorFlow实战指南 当你第一次接触深度学习时&#xff0c;可能已经运行过MNIST手写数字识别或CIFAR-10这样的标准Demo。但真正要解决实际问题时&#xff0c;这些玩具数据集远远不够。本文将带你用TensorFlow处理一个真实的11类谷物图像…...

PagerDuty与NodeJS集成:构建高效监控告警系统的实践指南

1. 为什么需要PagerDuty与NodeJS集成&#xff1f; 在当今的互联网服务架构中&#xff0c;系统的稳定性和可用性至关重要。想象一下&#xff0c;如果你的电商网站在凌晨3点突然宕机&#xff0c;而整个团队都在熟睡中&#xff0c;这会导致多少订单流失&#xff1f;这就是监控告警…...

BCompare_Keygen 授权激活实战指南:从评估错误到专业版授权的全面解决方案

BCompare_Keygen 授权激活实战指南&#xff1a;从评估错误到专业版授权的全面解决方案 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 【问题定义】Beyond Compare 评估期结束的核心痛点 当Bey…...

如何用Python快速开发Android应用:Python for Android完整指南

如何用Python快速开发Android应用&#xff1a;Python for Android完整指南 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android 想要将Python技能扩展到移动开发领…...