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

Docker 安装配置

本章背景知识

本章主要介绍在 Centos 操作系统平台上进行安装和配置Docker Engine。

环境准备

1、操作系统支持。

CentOS、Debian、Fedora、Raspbian、RHEL、SLES、Ubuntu、Binaries

2、启用yum 软件仓库源。

centos-extras

编者注:Centos 默认已经开启centos-extras 源。

3、移除Docker旧版本。

 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

4、关闭 firewalld 防火墙,安装 iptables 防火墙。

# 关闭防火墙
systemctl stop firewalld# 取消开机启动
systemctl disable firewalld#安装iptables
yum install iptables-services -y# 重启防火墙使配置生效
systemctl start iptables# 设置防火墙开机启动
systemctl enable iptables
如果不执行这一步,Docker 服务器无法自动添加规则
[(103条消息) centos7安装docker报错iptables v1.4.21: Couldn‘t load target `DOCKER-ISOLATION‘_尧、木子的博客-CSDN博客](https://blog.csdn.net/weixin_38879931/article/details/125563912)

5、创建默认存储目录

mkdir /data

安装方法

1、yum 仓库:

使用 yum 软件仓库联网安装。

2、RPM包:

下载 RPM 包并手动安装,并且手动管理升级。这对于有些无法访问互联网的机器特别有用。

3、自动化脚本:

在测试和开发环境中,用户使用自动化脚本安装 Docker。

编者注:本章节介绍【yum仓库】和【RPM包】安装方式。

yum 仓库:联网安装

设置 yum 软件仓库

1、安装 yum-utils 软件包。
2、设置Docker软件仓库。

 sudo yum   install -y yum-utils$ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo

Docker Engine 安装步骤

1、安装 Docker Engine ,容器和 Docker Compose

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

2、安装过程中,会提示验证指纹,你需要接受并验证它。

3、若需要安装特定版本的 Docker 引擎,你需要列出所有的可用版本。

yum list docker-ce --showduplicates | sort -r

4、启动 Docker

sudo systemctl start docker

5、验证 Docker 是否能够运行hello-world镜像

sudo docker run hello-world

RPM 包:离线安装

1、大多数生产环境是不允许连接外网的,所以只能使用下载 RPM 包后手动安装。

2、由于安装 Docker RPM 包的相关依赖包非常复杂,所以这里就使用制作好的 Yum 离线缓存,进行安装,简化安装过程。

设置 yum 软件仓库

1、下载对应网盘中的 yum 仓库缓存包和配置文件,找到对应操作系统版本。
2、上传对应 yum.tar.gzyum.repos.d.tar 包。

cd /var/cache/
rm -rf /var/cache/yum
tar -zxvf yum.tar.gz 
cd /etc/
rm -rf /etc/yum.repos.d
tar -zxvf yum.repos.d.tar.gz

Docker Engine 安装步骤

1、安装 Docker Engine ,容器和 Docker Compose

 sudo yum -C  --nogpgcheck install -y yum-utils
sudo yum -C  --nogpgcheck install docker-ce docker-ce-cli containerd.io docker-compose-plugin
选项说明
-C不更新缓存
–nogpgcheck不验证指纹。
2、启动 Docker
sudo systemctl start docker

3、Docker 镜像本地化仓库配置

Docker Hub 在国内访问比较慢,可以使用本地化网易镜像,提高下载镜像的速度。

4、配置镜像源地址。

root# vim /etc/docker/daemon.json---------------写入以下内容--------------{
....
"registry-mirrors": ["https://hub-mirror.c.163.com"]
....
}

5、重启 Docker 服务。

root# sudo systemctl restart docker

6、验证 Docker 是否能够运行 hello-world 镜像

sudo docker run hello-world

配置 Docker Engine 服务

本节主要介绍Docker Engine 服务配置。

Docker Engine管理用户

以上方式安装后,不会自动创建管理Docker服务的普通用户。每次操作Docker都需要root用户,这样非常不方便。针对这个问题,可以创建新的普通用户,并且加入到docker用户组。

1、创建Docker Engine专用管理用户,并加入docker用户组。

 sudo useradd docker -g docker

Docker Engine服务管理

1、Docker Engine 服务开启启动

systemctl enable docker

2、systemctl 启停Docker Engine服务。

sudo systemctl start docker.service
sudo systemctl status docker.service
sudo systemctl stop docker.service

3、service 启停Docker Engine服务。

root# sudo service docker start
root# sudo service docker status
root# sudo service docker stop

Docker Engine更改默认存储目录

1、Docker 默认的存储目录是存放在/var/lib/docker,这个目录一般挂载在根(/) 目录下。

2、这个目录存储大量的镜像和容器,非常容易撑满磁盘,所以需要更换默认的存储目录。

3、配置默认存储目录。

root# vim /etc/docker/daemon.json---------------写入以下内容--------------{…snip…"data-root": "/data"…snip…}

4、关闭Docker 服务。

sudo systemctl stop docker

5、迁移Docker 容器和镜像数据。

sudo  mv /var/lib/docker/* /data/

6、重启Docker服务。

root# sudo systemctl start docker

7、检查是否能够成功拉取镜像。

root# sudo docker pull hello-world
也可以使用软连接方式进行数据迁移。

相关文章:

Docker 安装配置

本章背景知识 本章主要介绍在 Centos 操作系统平台上进行安装和配置Docker Engine。 环境准备 1、操作系统支持。 CentOS、Debian、Fedora、Raspbian、RHEL、SLES、Ubuntu、Binaries 2、启用yum 软件仓库源。 centos-extras 编者注:Centos 默认已经开启cento…...

死锁检测组件-设想

死锁检测组件-设想 现在有三个临界资源和三把锁绑定了,三把锁又分别被三个线程占用。(不用关注临界资源,因为锁和临界资源是绑定的) 但现在出现这种情况:线程1去申请获取锁2,线程2申请获取锁3,…...

线程池的使用

为什么要使用线程池 复习一下创建线程的几种方式: 继承Thread 实现Runnable 实现Callable 但是如果频繁的创建/销毁线程,就会造成资源浪费。这时候就需要将线程创建好之后存起来,以后要用取出来,用完后再放回去。 注意 &#xff…...

字节码指令

目录 2.1 入门 2.2 javap 工具 2.3 图解方法执行流程 1)原始 java 代码 2)编译后的字节码文件 3)常量池载入运行时常量池 4)方法字节码载入方法区 5)main 线程开始运行,分配栈帧内存 6)…...

TLS/SSL证书彻底扫盲

证书格式 pem Privacy Enhanced Mail文本格式,以 -----BEGIN CERTIFICATE----- 开头,以-----END CERTIFICATE-----结尾 der 二进制格式,只保存证书,不保存私钥java和window服务器常见 pfx/p12 Predecessor of PKCS#12二进制格式&…...

WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第五步-高级可视化)

1写在前面 前面我们用WGCNA分析完成了一系列的分析,聚类分割模块。🥰 随后进一步筛选,找到与我们感兴趣的表型或者临床特征相关的模块,而且进行了模块内部分析。😘 再然后是对感兴趣模块进行功能注释,了解模…...

try catch finally执行顺序

try catch finally,try里有return,finally还执行么?答案: 执行,并且返回return时,finally的执行早于try。try-catch-finally的执行顺序无return当try中的t()没有抛出异常public static void main(String[] …...

2023年数学建模美赛D题(Prioritizing the UN Sustainability Goals)分析与编程

2023年数学建模美赛D题分析建模与编程 重要说明: 本文介绍2023年美赛题目,并进行简单分析;本文首先对 D题进行深入分析,其它题目分析详见专题讨论;本文及专题分析将在 2月17日每3小时更新一次,完全免费&am…...

35岁测试工程师被辞退,给你们一个忠告

一:前言:人生的十字路口静坐反思 入软件测试这一行至今已经10年多,承蒙领导们的照顾与重用,同事的支持与信任,我的职业发展算是相对较好,从入行到各类测试技术岗位,再到测试总监,再转…...

华为OD机试题 - 租车骑绿岛(JavaScript)

最近更新的博客 2023新华为OD机试题 - 斗地主(JavaScript)2023新华为OD机试题 - 箱子之形摆放(JavaScript)2023新华为OD机试题 - 考古学家(JavaScript)2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)2023新华为OD机试题 - 最多等和不相交连续子序列(JavaScri…...

Linux下Python脚本的编写解析fio(minimal格式)(三)

在服务器测试(storage)过程中,会看到很多人写跑fio的脚本用minimal格式来解析,因为这种格式返回的结果对与脚本(shell,python)解析log非常方便.下面介绍一下这种方式下,用Python来解析log 1 一般客户会要求结果中出现一下参数的值: bandwidth…...

【实战场景二】如何设计一个分布式锁?

如何优雅的设计一个分布式锁?如何设计一个分布式锁?1、什么是分布式锁2、那么分布式锁,具备什么条件呢?3、设计分布式锁有哪些方式?3.1 利用redis实现分布式锁原理3.2 基于数据库做分布式锁3.3 基于zookeeper实现分布式…...

Java中ThreadLocal类详解

ThreadLocal从名字上我们看出,它叫做本地线程变量,每个线程都有各自的的变量,而不再是我们之前的两个线程共用同一个变量;以这个类创建的变量,在多个线程都用到这个变量时,可以为每一个线程创建一个变量副本…...

从一致性角度考虑推荐冷启动长尾推荐问题(一)

前言:目前中长尾推荐的方法有很多,主流的方法有几类比如:1)在没有项目ID嵌入的情况下提高推荐模型的鲁棒性,2)利用有限的交互数据提高学习效率,如使用元学习方法;3)利用物品侧面信息,便于物品ID嵌入的初始化&#xff0…...

电脑(Windows)常用快捷键

简述:实用的键盘快捷键是一个程序员的必备技能,下面给大家整理了一下常用的键盘快捷键; ⭐CtrlP 打开“打印机”对话框; ⭐CtrlW 关闭当前网页; ⭐CtrlF 查找(网页内查找); ⭐…...

Java类加载器

1 类加载器 1.1 类加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为…...

信号完整性设计规则之单根信号失真最小化

本文内容从《信号完整性与电源完整性分析》整理而来,加入了自己的理解,如有错误,欢迎批评指正。 1. 通常采用所能容许的最长上升边。 上升边越短,带宽越大,信号完整性问题越严重。 2. 使用可控阻抗走线。 可控阻抗…...

Python3 数据结构

列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。 以下是 Python 中列表的方法: 方法 描述 list.append(x) 把一个元素添加到列表的结尾&#xf…...

Compose-Navigation带参传递

带参传递 目前 compose 还不支持传入对象作为参数! 简单双参数 根目录下新建文件夹 entity,新建单例类 ContentType 作为数据类存储位置 新增数据类 DemoContent,这表示我们需要传入的两个参数,后面带问号判空 object ContentT…...

【函数栈帧的创建和销毁】 -- 神仙级别底层原理,你学会了吗?

文章目录1.函数的调用方式 2.函数在栈区上的动作 1.函数的调用方式 相信你对调用函数一点都不陌生,但是在调用函数的过程中,却存在着很多你无法见到的东西,这是底层信息,想要理解透彻,就得深入底层去观察。 本文以…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

今日科技热点速览

🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解:从决策树开始理解三、解法一:二叉决策树 DFS四、解法二:组合式回溯写法(推荐)五、解法对比 递归算法是编程中一种非常强大且常见的思想,它能够优雅地解决很多复杂的…...

命令行关闭Windows防火墙

命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)​方法二:CMD命令…...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...