【Docker】2.Docker安装

news2024/11/27 3:42:03

文章目录

    • Docker
        • Docker Official Website
        • Docker Install
        • Docker Change Image
        • Docker Change Dir

Docker

Docker本质其实时LXC之类的增强版,它本身不是容器,而是容器的易用工具。Docker时让容器技术普及开来的最成功的实现。它的主要目标是"Build, Ship and Run Any APP, anytwhere",使得用户的应用及其余小宁环境可以做到"一次封装,到处运行"

Docker创建容器时,不再使用模板去安装生成,而是通过镜像技术(把一个操作系统用户空间所需要的组件事先编排好,并整体打包成一个.image文件),托管在镜像仓库中。当需要创建容器时,Docker直接调用LXC工具lxc-create,但不通过LXC模板安装,而是直接连接镜像仓库下载匹配文件,再基于镜像启动容器。

Docker Official Website

Docker 官网 https://www.docker.com/

在这里插入图片描述


开发者文档

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fFM8pdXk-1686148846028)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20230526163057715.png)]

重点:Manuals和Reference


Docker 官方架构

Docker 使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。Docker容器通过Docker镜像来创建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AG9pvzGp-1686148985705)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20230526201053549.png)]

Docker仓库 Registry 用于保存镜像。Docker Hub拱了庞大的镜像集合供使用
Docker daemon 服务器组件(类似于接待员),Docker最核心的后台进程,我们页把他称之为守护进程
Docker客户端(Client) 通过命令行或者其他工具使用Docker API和Docker的守护进程通信
Docker主机(Host) 一个和物理或者虚拟的机器用于执行Docker守护进程和容器
Docker镜像(Images) Docker镜像用于创建Docker容器的模板

Docker Install

# 卸载
cat /etc/*release*    # 确认操作系统
uname -a  		     #  确认cpu架构

sudo yum remove docker \
 docker-client \
 docker-client-latest \
 docker-common \
 docker-latest \
 docker-latest-logrotate \
 docker-logrotate \
 docker-engine
 
 # 删除机器上的包
 sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
 sudo rm -rf /data/var/lib/docker
 sudo rm -rf /etc/docker/daemon.json
 sudo yum install -y yum-utils
 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g'  /etc/yum.repos.d/docker-ce.repo
 sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 #配置加载
sudo systemctl daemon-reload 
#启动服务
sudo systemctl start docker 
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker

Docker Change Image

# 在配置文件/etc/docker/daemon.json 中加入镜像源信息
[root@VM-20-6-centos docker]# cat daemon.json 
{
	"registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ]
}


[root@VM-20-6-centos docker]# ll
total 4
-rw-r--r-- 1 root root 160 May 26 21:10 daemon.json
[root@VM-20-6-centos docker]# systemctl daemon-reload    # 更新配置
[root@VM-20-6-centos docker]# systemctl restart docker   # 重启服务

Docker Change Dir

Docker默认安装目录在var/lib/docker,这里面通常会存放很多镜像,所以我们在安装时需要考虑这个目录的空间,有三种解决方案

  • 将/var/lib/docker目录挂载到一个很大的磁盘,像腾讯云在安装K8S的结点时就提供这种选项
  • 安装之前挂载一个大磁盘,然后创建一个软连接到/var/lib/docker. 这样就自动安装到大磁盘上
  • 修改docker的配置文件
# 方案3
#假定我们磁盘的大的目录为 /data
mkdir -p /data/var/lib/docker 
# 编辑配置文件
vim /etc/docker/daemon.json
# 输入下面的 json
{
"data-root": "/data/var/lib/docker"
}
# 加载配置
sudo systemctl daemon-reload 
# 重启 docker
sudo systemctl restart docker 
#查看 docker 状态
sudo systemctl status docker

# 可以看到docker将自己的配置文件都移动过来了
[root@VM-20-6-centos docker]# ll /data/var/lib/docker/
total 44
drwx--x--x 4 root root 4096 May 26 21:22 buildkit
drwx--x--- 2 root root 4096 May 26 21:22 containers
-rw------- 1 root root   36 May 26 21:22 engine-id
drwx------ 3 root root 4096 May 26 21:22 image
drwxr-x--- 3 root root 4096 May 26 21:22 network
drwx--x--- 3 root root 4096 May 26 21:22 overlay2
drwx------ 4 root root 4096 May 26 21:22 plugins
drwx------ 2 root root 4096 May 26 21:22 runtimes
drwx------ 2 root root 4096 May 26 21:22 swarm
drwx------ 2 root root 4096 May 26 21:22 tmp
drwx-----x 2 root root 4096 May 26 21:22 volumes

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

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

相关文章

6款AI绘画生成器,让你的创作更有灵感

人工智能绘画听起来很高深,其原理是通过集成文本、图片和其他大数据数据来生成信息库,在输入文本描述的要求后,可以找到相应的视觉元素,然后拼凑起来生成符合文本描述的图片。 本文介绍非常好用的6款AI绘画生成工具 1.即时 AI 绘…

从C语言到C++_17(list的模拟实现)list不是原生指针的迭代器

目录 1. list 的基本框架 1.1 list 的结点 1.2 list 构造函数 1.3 push_back 2. list 迭代器的实现 2.1 迭代器的构造 2.2 begin() 和 end() 2.3 重载 ! 和 * 和 2.4 遍历测试: 2.6 operator-> 2.7 operator-- 2.8 const 迭代器 3. list 的增删…

Vulnhub 靶机渗透:SICKOS: 1.2

SICKOS: 1.2 一级目录二级目录三级目录 nmap 扫描端口扫描详细扫描漏洞扫描 web渗透gobuster扫描nikto漏洞扫描思考继续 获得立足点提权总结 一级目录 二级目录 三级目录 https://www.vulnhub.com/entry/sickos-12,144/ 靶机IP:192.168.54.30 kali IP: 192.168.5…

如何修复 SSH Client_loop: send disconnect: Broken pipe Error

动动发财的小手,点个赞吧! SSH 是 Secure Shell 的缩写,是一种远程网络协议,用于通过 TCP/IP 网络安全地连接到远程设备,例如服务器和网络设备。 它是一种加密网络协议,可提供强大的加密技术和散列法来保护…

SpringSecurity多源认证之全部交给spring容器

文章目录 一. 前言二. 配置流程2.1 SecurityConfig.class2.2 JwtAuthenticationTokenFilter2.3 AuthenticationManagerProcessingFilter 疑问 一. 前言 相关文章: 认证/支付/优惠劵策略模式-security多源认证 这篇文章没有将自定义的认证管理器注入容器. spring-security2.6.…

【计算机网络详解】——运输层(学习笔记)

📖 前言:两台主机的通信,实际上两台主机中的应用进程进行通信,而在一台计算机中,用不同的端口号标识不同的应用进程。本节将介绍传输层的相关内容,包括端口号的分配方法、端口号的复用与分用、以及传输层的…

吴恩达 ChatGPT Prompt Engineering for Developers 系列课程笔记--07 Expanding

07 Expanding 本节示例如何用ChatGPT生成一封电子邮件的回复。 1) 定制化情绪 给定客户评论,我们根据评论内容和情绪产生定制的回复。下面是给定情感(positive/negative),让ChatGPT产生相应回复的prompt。 """…

Solidwoks PDM Add-ins (C#) 创建Add-ins

本主题演示如何在Microsoft Visual Studio Enterprise 中使用Visual C#创建并调试add-in。 注意: 因为 SOLIDWORKS PDM Professional无法强制重新加载在 .NET 中编写的add-in程序,则必须重新启动所有客户端计算机,以确保使用最新版本的add-i…

【建议收藏】什么是测试金字塔?如何使用测试金字塔来构建自动化测试体系?

测试金字塔 (Test Pyramid)是一套使用单元测试,集成测试和端到端测试来构建自动化测试体系的方法。 如下图所示,在金字塔的最下方是单元测试,中段是集成测试,最上方是端到端测试。单元测试实现的成本最低&…

【论文笔记】SAM3D: Zero-Shot 3D Object Detection via Segment Anything Model

原文链接:https://arxiv.org/pdf/2306.02245.pdf 1.引言 分割一切模型(SAM)作为视觉领域的基石模型,有强大的泛化性,能解决很多2D视觉问题。但是SAM是否可以适用于3D视觉任务,仍需要被探索。   目前几乎…

深蓝学院C++基础笔记 第 2 章 对象和基本类型

第 2 章 对象和基本类型 1. 从初始化/赋值语句谈起 初始化 / 赋值语句是程序中最基本的操作,其功能是将某个值与一个对象关联起来 – 值:字面值、对象(变量或常量)所表示的值…… – 标识符:变量、常量、引用…… –…

《Lua程序设计》--学习2

表 Lua语言中的表本质上是一种辅助数组(associative array),这种数组不仅可以使用数值作为索引,也可以使用字符串或其他任意类型的值作为索引(nil除外)。 Lua语言中的表要么是值要么是变量,它…

Linux进程间通信【命名管道】

✨个人主页: 北 海 🎉所属专栏: Linux学习之旅 🎃操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌇前言🏙️正文1、什么是命名管道1.1、创建及简单使用1.2、命名管道的工作原理1.3、命名管道…

Shell脚本攻略:文本三剑客之awk

目录 一、理论 1.awk原理 2.awk打印 3.awk条件判断 4.awk数组与循环 5.awk函数 6.常用命令 二、实验 1.统计磁盘可用容量 2.统计/etc下文件总大小 3.CPU使用率 4.统计内存 5.监控硬盘 一、理论 1.awk原理 (1)概念 awk由 Aho,W…

PriorityBlockingQueue的介绍及方法内部实现

SynchronousQueue的介绍 SynchronousQueue是一个优先级队列,不满足先进先出FIFO的概念。 会将插入的数据进行排序,输出排序之后的结果(小根堆,由小变大升序) 内部实现原理介绍 SynchronousQueue是基于二叉堆结构实现…

Linux——多线程

Linux多线程 多线程进程内进行资源划分什么是线程进一步理解线程线程的优缺点Linux进程VS线程线程的异常 创建线程两个的接口线程的控制线程的创建线程的终止线程的等待线程取消C的线程库线程的分离如何理解每个线程都有自己独立的栈结构 封装线程接口 多线程 进程内进行资源划…

Java代码块和属性的赋值顺序

代码块 类的成员之四:代码块(初始化块)(重要性较属性、方法、构造器差一些) 1.代码块的作用:用来初始化类、对象的信息 2.分类:代码块要是使用修饰符,只能使用static 分类:静态代码块 vs 非静态…

nacos升级到2.0.3(单机模式)

前提&#xff1a;https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明 Spring Cloud AlibabaSpring CloudSpring BootNacos2.2.7.RELEASESpring Cloud Hoxton.SR122.3.12.RELEASE2.0.3 一、pom.xml文件 <parent><groupId>org.springframework.boot&…

网工内推 | 高级网工专场,上市公司,3年经验以上,HCIE证书优先

01 名创优品&#xff08;广州&#xff09;有限责任公司 &#x1f537;招聘岗位&#xff1a;高级网络工程师 &#x1f537;职责描述&#xff1a; 1、负责集团总部有线&#xff06;无线、公有云、仓库的网络规划建设与运维&#xff1b; 2、负责公有云的网络台日常上线部署、规划…

3.3 分析特征内部数据分布与分散状况

3.3 分析特征内部数据分布与分散状况 3.3.1 绘制直方图 bar()3.3.2 绘制饼图 pie()3.3.3 绘制箱线图 boxplot()3.3.4 任务实现1、绘制国民生产总值构成分布直方图2、绘制国民生产总值构成分布饼图3、绘制国民生产总值分散情况箱线图 小结 3.3.1 绘制直方图 bar() 直方图&#x…