Docker的安装与部署
Docker 基本概念介绍
通俗理解:镜像是类,容器是对象实例
仓库 = 应用商店、镜像 = 下载的应用安装程序、容器 = 应用程序
-
镜像(Image)
这里面保存了应用和需要的依赖环境
为什么需要多个镜像?当开发、构建和运行容器化应用程序时,我们通常会有不同优先级。通过为这些独立的任务提供不同镜像
-
容器(Container)
镜像的实例。一个容器代表一个正在运行的应用程序、进程或服务。它由 Docker 镜像、执行环境和标准指令集组成。需要扩展服务时,我真正将镜像跑起来的东西,镜像在容器里面。可以看作是一个完全隔离的盒子。
一个容器镜像实例代表一个独立的进程。
-
Hub
远程存放镜像的平台, hub上已经有很多制作好的镜像(可以使用国内镜像平台)。
-
仓库(repository)
仓库用来保存镜像的地方。
镜像构建完成后,可以直接在当前宿主上运行,但是 如果需要在其它服务器上使用这个镜像,就需要一个集中存储、分发镜像的服务。仓库就是这样的一个服务。
安装部署 Docker环境
1. 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2. 添加稳定镜像源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
因为docker默认官方的镜像源地址是国外的,速度很慢,这里将数据源设置为阿里云的镜像。
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 安装 Docker-CE
yum install docker-ce
4. 启动 Docker-CE
#设置开机启动 docker服务:
systemctl enable docker
systemctl start docker
5. 卸载 Docker-CE
yum remove docker-ce
#清除所有的文件目录
rm -rf /var/lib/docker
Docker 配置国内源加速
1. 修改配置文件
配置文件:/etc/docker/daemon.json,编辑该文件(没有的话先手动创建)加入国内镜像源
- DockerProxy:https://dockerproxy.com
- 网易源:https://hub-mirror.c.163.com
- 百度源:https://mirror.baidubce.com
- 腾讯源:https://ccr.ccs.tencentyun.com
# 编辑 Docker 配置文件
$ sudo vim /etc/docker/daemon.json
# 加入以下配置项
{"registry-mirrors": ["https://dockerproxy.com","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://ccr.ccs.tencentyun.com"]
}
Docker镜像加速器(阿里云镜像源)
也可以使用 阿里云-容器镜像服务ACR > 镜像工具 > 镜像加速器

2. 重启 Docker 服务
# 方法一,采用 systemctl 来重启,推荐
systemctl daemon-reload
systemctl restart docker# 方法二,采用 service 来重启
service docker restart
3. 查看是否成功
# 查看 Docker 信息
docker info# 出现以下字段代表配置成功
Registry Mirrors:https://dockerproxy.com/https://hub-mirror.c.163.com/https://mirror.baidubce.com/https://ccr.ccs.tencentyun.com/
Docker 常用命令
#查看容器(-a 显示包括已经停止的容器):docker ps -a
#拉取镜像: docker pull
#查看镜像: docker images
#删除镜像: docker rmi 镜像name/id
#创建镜像(常用方式),注意结尾的.#使用当前目录的 Dockerfile 创建镜像(版本号不加默认为 latest)docker build -t [新镜像名称]:[新镜像标签] . #通过 -f Dockerfile 文件的位置docker build -f [Dockerfile的路径] .
#创建容器(运行镜像): docker run --name [容器名] -d -p 8080:80 [镜像名称]:[镜像标签]--name 容器名称 ,后面跟着是镜像路径或名称--rm 运行完后删除该容器-p 端口映射 8000 外部端口 80镜像里面运行的端口 将8000映射到镜像里面的80-it 输出容器命令行的内容 即容器的自身的程序输出在控制台(进入容器)-d 和it相反 隐藏后台运行
#容器交互: docker exec -it [容器name/id] /bin/bash
#退出交互: Ctrl+P,Ctrl+Q(Ctrl键一直保持按下)
#启动容器: docker start 容器name/id
#重启容器: docker restart 容器name/id
#停止容器: docker stop 容器name/id
#杀掉运行中的容器docker kill 容器name/id
#删除容器: docker rm 容器name/id
#查看容器日志docker logs -f -t 容器name/id-f : 跟踪日志输出-t : 显示时间戳
#设置开机自启: systemctl enable docker
Docker镜像无法删除的解决办法
#使用强制删除命令:docker rmi -f 镜像id
Docker容器无法stop的解决办法
docker在rm或者kill相应的容器时,发现无法删除,或者出现报错
提示 Error response from daemon: Conflict, cannot remove the default name of the container
解决方法:
#使用强制删除命令:docker rm -f 容器id
#清理该容器的网络占用:docker network disconnect --force bridge 容器id
Docker 镜像导出-导入
将docker image导出保存为tar文件,方便在服务器之间进行传输
1. Docker镜像导出
-o 和 > 表示输出到文件(不加路径则会输出到当前所在目录),[新镜像名称].tar为目标文件
docker save -o D:\[新镜像名称].tar [镜像名称]:[镜像标签]
或
docker save [镜像名称]:[镜像标签] > D:\[新镜像名称].tar
2. 通过Xftp将导出的tar文件传输到其他服务器上
3. Docker镜像导入
docker load -i [新镜像名称].tar
4. 导出-导入过程中遇到的问题
导入完成后,镜像的名字和 TAG为
<none>
这个问题的根本在于这个镜像压缩包在打包的时候操作不当所导致
例如,使用镜像ID打包的话导致解压的出来的镜像没有名字
docker save -o D:\[新镜像名称].tar [镜像id]
因此,推荐使用镜像名进行打包,此方式打包的镜像,解压出来就有镜像名称了
docker save -o D:\[新镜像名称].tar [镜像名称]:[镜像标签]
重命名镜像的方法:
docker tag [镜像id] [新镜像名称]:[新镜像标签]
相关文章:
Docker的安装与部署
Docker 基本概念介绍 通俗理解:镜像是类,容器是对象实例 仓库 应用商店、镜像 下载的应用安装程序、容器 应用程序 镜像(Image) 这里面保存了应用和需要的依赖环境 为什么需要多个镜像?当开发、构建和运行容器化应用程序时,我们…...
【数据结构】实验四:循环链表
实验四 循环链表 一、实验目的与要求 1)熟悉循环链表的类型定义和基本操作; 2)灵活应用循环链表解决具体应用问题。 二、实验内容 题目一:有n个小孩围成一圈,给他们从1开始依次编号,从编号为1的小孩开…...
【FPGA/D7】
2023年7月26日 串口传图到RAM并TFT显示 视频25note要求:接收两个字节数据合并为一个16位数据并写入ram: FIFO模型与应用场景 视频26 串口传图到RAM并TFT显示 视频25 note 存储器的使用,在开始读写或者结束读写的位置非常容易出现数据错误或…...
Vue的下载以及MVVM分析
😀前言本片文章是vue系列第一篇整理了vue的基础和发展史 🏠个人主页:尘觉主页 🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉Ƕ…...
ElasticSearch学习--自动补全
目录 自定义分词器 介绍 配置自定义分词器 拼音分词器的问题编辑 总结 DSL自动补全查询 RestAPI实现自动补全 自定义分词器 介绍 自定义分词器只在当前库中有效 配置自定义分词器 拼音分词器的问题 总结 DSL自动补全查询 RestAPI实现自动补全...
【C++】多态,虚函数表相关问题解决
文章目录 多态概念及其触发条件重写和协变(考点1)(考点2) 虚函数表及其位置(考点3) 多继承中的虚函数表 多态概念及其触发条件 多态的概念:通俗来说,就是多种形态。具体点就是去完成…...
探索大型语言模型的开源人工智能基础设施:北京开源AI Meetup回顾
原文参见Explore open source AI Infra for Large Language Models: Highlights from the Open Source AI Meetup Beijing | Cloud Native Computing Foundation 背景介绍: 最近,在 ChatGPT 的成功推动下,大型语言模型及其应用程序的流行度激…...
Langchain 的 Conversation buffer window memory
Langchain 的 Conversation buffer window memory ConversationBufferWindowMemory 保存一段时间内对话交互的列表。它仅使用最后 K 个交互。这对于保持最近交互的滑动窗口非常有用,因此缓冲区不会变得太大。 我们首先来探讨一下这种存储器的基本功能。 示例代码&…...
电流源电路
3.3.3电流源电路 镜像电流源 电路 分析 仿真 比例电流源 电路 分析 仿真 加射极输出器的电流源1 电路 分析 仿真 加射极输出器的电流源2 电路 分析 仿真 威尔逊电流源 电路 分析 仿真...
iOS开发-CMMotionManager传感器陀螺仪
iOS开发-CMMotionManager传感器陀螺仪 之前开发中遇到需要使用陀螺仪判断是否拍照时候水平判断,如果没有水平拍照,则给出提示。方便用户拍照合适的题目图片。 一、CMMotionManager CMMotionManager是什么 CMMotionManager 是 Core Motion 库的核心类&…...
影刀下载,插件安装
1、下载 在影刀官网下载:www.yingdao.com 2、谷歌插件安装 参考: 影刀插件安装各种方式 浏览器安装插件说明 - 影刀帮助中心 安装说明:驱动外置 Chrome 需要安装插件,并且保证此插件处于开启状态 方式一:用户头…...
Linux的tcpdump命令详解
tcpdump 一款sniffer工具,是Linux上的抓包工具,嗅探器 补充说明 tcpdump命令 是一款抓包,嗅探器工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。…...
springboot运行报错Failed to load ApplicationContext for xxx
Failed to load ApplicationContext for报错解决方法 报错Failed to load ApplicationContext for 报错Failed to load ApplicationContext for 网上找了一堆方法都尝试了还是没用 包括添加mapperScan,添加配置类 配置pom文件 [外链图片转存失败,源站可能有防盗链机…...
[SQL挖掘机] - 内连接: inner join
介绍: 内连接是一种多表连接方式,用于将两个或多个表中的数据通过共同的列值进行匹配,并返回满足连接条件的匹配行。简单来说,内连接能够将相关联的数据组合在一起,以便进行更复杂和全面的数据分析。 内连接的工作原理如下&…...
mysql(四)数据备份
目录 前言 一、概述 二、备份的类型 (一)物理与逻辑角度 (二)数据库备份策略角度 三、常见的备份方法 四、完整备份 (一)打包数据库文件备份 (二)备份工具备份 五、增量备份 六、操…...
Spring 拦截器
上篇博客链接:SpringAOP详解 上篇博客我们提到使用AOP的环绕通知来完成统一的用户登陆验证虽然方便了许多,但随之而来也带来了新的问题: HttpSession不知道如何去获取,获取困难登录和注册的方法并不需要拦截,使用切点没办法定义哪…...
【libevent】http客户端3:简单封装
LibEventHttp: 适用于简单的http请求 LibEventHttp/* Copyright (c) MediaArea.net SARL. All Rights Reserved.** Use of this source code is governed by a BSD-style license that can* be found in the License.html file in the root of the source tree.*///--------…...
JavaScript的函数中this的指向
JavaScript的函数中this的指向 JavaScript 语言之所以有 this 的设计,跟内存里面的数据结构有关系。 以下例子来简单描述this在不同情况下所指向的对象。 var obj {aa: function(){console.log(this.num)},num: 5 };var aa obj.aa; var num 10;obj.aa(); // …...
Caddy 中实现自动 HTTPS
要在 Caddy 中实现自动 HTTPS,您可以按照以下步骤进行操作: 步骤 1:安装 Caddy 首先,您需要安装 Caddy 服务器。您可以从 Caddy 的官方网站(https://caddyserver.com/)下载适用于您的操作系统的最新版本。…...
SK5代理(socks5代理)在网络安全与爬虫应用中的优势与编写指南
一、SK5代理(socks5代理)的基本概念 SK5代理是一种网络代理协议,它允许客户端通过代理服务器与目标服务器进行通信。相较于HTTP代理,SK5代理在传输数据时更加高效且安全,它支持TCP和UDP协议,并且能够实现数…...
HDSceneColor节点]原理解析与实际应用
渲染管线兼容性详解HD Scene Color节点的可用性完全取决于所使用的渲染管线,这是开发者在选择和使用该节点时必须首先考虑的因素。高清渲染管线(HDRP)支持HDRP是Unity针对高端平台和高端硬件设计的高保真渲染解决方案HD Scene Color节点专为H…...
s2-pro语音合成新玩法:用标签控制语气,轻松制作带情绪的语音内容
s2-pro语音合成新玩法:用标签控制语气,轻松制作带情绪的语音内容 1. 语音合成技术的新突破 在数字内容创作领域,语音合成技术正变得越来越重要。传统的语音合成系统往往只能生成单调、机械的语音,缺乏情感表达和自然韵律。而s2-…...
中国信通院启动公文写作智能体评估,推动技术落地与规范发展
【导语:中国信通院在前期《智能体技术要求与评估方法》研制基础上,开展公文写作智能体技术规范编制,并联合多家单位共同参与。现正式启动首批评估工作,成果计划于2026年6月发布,将推动该技术落地与规范发展。】联合编制…...
MongoDB高级面试:进阶面试题50题及答案详解
更多内容请见: 《深入掌握MongoDB数据库》 - 专栏介绍和目录 文章目录 一、高级查询优化与执行计划 (8题) 二、高级索引策略 (8题) 三、高级分片策略与优化 (8题) 四、性能调优与瓶颈分析 (7题) 五、高级复制集配置与故障处理 (6题) 六、高级事务与一致性模型 (5题) 七、安全高…...
深入解析STM32 map文件:从编译到内存优化的关键步骤
1. 为什么STM32开发者必须掌握map文件分析 第一次接触STM32的map文件时,我和大多数新手一样感到一头雾水。这个由编译器自动生成的文本文件,乍看就像天书般难以理解。直到有次项目遇到内存不足的紧急情况,我才真正体会到map文件的价值——它不…...
为什么92%的团队在MCP项目中期被迫重构?Python 4大模板的抽象泄漏、协议耦合与测试盲区深度拆解
第一章:MCP服务器开发模板的行业现状与重构困局当前,MCP(Model Control Protocol)服务器作为AI智能体协同调度与协议网关的核心组件,在金融风控、工业边缘控制、多模态Agent编排等场景中加速落地。然而,主流…...
python异常模拟工具类(异常生成工具类)
文章目录创建代码类使用主要是做测试的时候方便,创建代码类 1、新建python文件exception_mock_utils.py,代码为: import random import time from typing import Any, Optionalclass ExceptionMockUtils:"""异常模拟工具类用…...
DeerFlow免费开源:字节跳动出品,个人研究者的强大AI工具
DeerFlow免费开源:字节跳动出品,个人研究者的强大AI工具 1. 项目概述 DeerFlow是由字节跳动公司开源的一款深度研究辅助工具,基于LangStack技术框架开发。这个项目通过整合语言模型、网络搜索和Python代码执行等能力,为个人研究…...
电视盒子播放视频总出错?TVBoxOSC让所有格式文件流畅播放
电视盒子播放视频总出错?TVBoxOSC让所有格式文件流畅播放 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC 你是否遇到过电视盒子播放视…...
NaViL-9B图文理解教程:从上传图片到获取结构化描述的完整步骤
NaViL-9B图文理解教程:从上传图片到获取结构化描述的完整步骤 1. 认识NaViL-9B多模态模型 NaViL-9B是一款原生支持多模态交互的大语言模型,能够同时处理文本和图像信息。与传统的纯文本模型不同,它可以直接"看懂"图片内容&#x…...
