Docker介绍、docker安装以及实现docker的远程管理

news2025/1/12 1:36:20

1.Docker介绍

1.Docker介绍

        Docker 是⼀个开源的应用容器引擎,可以实现虚拟化,完全采用“沙盒”机制,容器之间不会存在任何接口。

        Docker 通过 Linux Container(容器)技术将任意类型的应用进行包装,变成一种轻量级、标准化、可移植、自管理的组件。在包装应用的同时可连带该应用的依赖和环境一并进行打包,所以可以将这种“包”移植到任意环境去运行,省去兼容性的问题。

2.Docker架构

1. 用docker pull 命令从 hub.docker.com 官网上下载 images (镜像)。

2. 可以用docker save 命令将镜像保存到本地 tar文件,也可以用docker load 命令将本地ta文件导入镜像。

3. 可以用docker build 构建 Dockerfile 镜像。

4. 可以用docker run 和 docker create 将镜像运行成 container (容器),容器内可以安装所需要的 APP。

5. 可以用docker commit/export 将容器做成镜像反复的使用。

6. 可以将自己制作的镜像发布到 hub.docker.com 网站,需要注册账号。

3.Docker 核心概念

1. 镜像(images):一个面向 docker 容器引擎的只读模板,也是容器的基础,类似于 iso 镜像文件。

2. 容器(container):基于镜像所创建的虚拟实例,相当于一个简易的 Linux 环境,可启停,且多个容器之间互相隔离。

3. 仓库(Repository):集中存放 docker 镜像的位置,可使用docker pull 或 push 命令下载或上传到私有或公有仓库。

4. 仓库注册服务器(registry):存放仓库的地方,如果没有私有仓库,则使用公共仓库 docker hub。 

4.Docker特性

1.文件系统隔离:每个进程容器运行在⼀个完全独立的根文件系统里。

2.资源隔离:实现不同的容器的资源配额和调度,cgroup。

3.网络隔离:每个进程容器运行在自己的网络空间,拥有虚拟接口和 IP 地址。

4.日志记录:Docker将收集到和记录的每个进程容器的标准流 (stdout/stderr/stdin),用于实时检索或者批量检索。

5.变更管理:容器文件系统的变更可以提交到新的镜像中,并可重复使用以创建更多的容器。

6.交互式shell:Docker可以分配一个虚拟终端并且关联到任何容器的标准输出上,例如运行一个一次性交互shell。

命令表

2.安装Docker

安装模块

[root@docker0 ~]# cat << EOF | tee /etc/modules-load.d/k8s.conf

> overlay

> br_netfilter

> EOF

overlay

br_netfilter

加载内核模块

[root@docker0 ~]# modprobe overlay

[root@docker0 ~]# modprobe br_netfilter

查看模块

[root@docker0 ~]# cat /etc/modules-load.d/

cat: /etc/modules-load.d/: 是一个目录

[root@docker0 ~]# cat /etc/modules-load.d/k8s.conf

overlay

br_netfilter

[root@docker0 ~]# cat << EOF | tee /etc/sysctl.d/k8s.conf

> net.bridge.bridge-nf-call-iptables = 1

> net.bridge.bridge-nf-call-ip6tables = 1

> net.ipv4.ip_forward = 1

> EOF

net.bridge.bridge-nf-call-iptables = 1

net.bridge.bridge-nf-call-ip6tables = 1

net.ipv4.ip_forward = 1

运行

[root@docker0 ~]# sysctl --system

安装

[root@docker0 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

提高下载速度

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

ls /etc/yum.repos.d/

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

启动docker

[root@docker0 ~]# systemctl start docker

[root@docker0 ~]# docker images    #里面空空如也

REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

搜索一下tomcat

[root@docker0 ~]# docker search tomcat

overlay:是一种文件系统层叠技术,常用于容器化平台(比如 Docker)中。它允许将多个文件系统叠加在一起,从而创建一个统一可见的文件系统。通过加载 overlay 模块,可以在 Linux 系统中使用overlay 文件系统,并且它将提供一些额外的功能,比 如联合挂载、文件层叠等。

 br_netfilter:Linux 内核中的提个模块,它提供了桥接设备(bridge device) 和网络过滤器(netfilter) 之间的集成。它允许在桥 接设备上使用网络过滤器功能,如防火墙规则、网络地址转换 (NAT) 等。通过加载 br_netfilter 模块,你可以在 Linux 系统中的桥接设备上应用网络过滤规则对网络流量进行管理和控制。

 device-mapper-persistent-data:一个Linux内核模块,它为 Device Mapper设备提供持久存储功能。DMPD提供了一个用于存储映射关系的数据库,使得Device Mapper可以持久化存储映射数据,以便在系统重新启动后仍然可以恢复之前的映射关系。

 lvm2:Linux系统下的逻辑卷管理工具,LVM 的升级版,它是对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性。

3.启动docker镜像

创建文档,设置加速器

[root@docker0 ~]# vim /etc/docker/daemon.json

{

    "registry-mirrors": [

        "https://do.nark.eu.org",

        "https://dc.j8.work",

        "https://docker.m.daocloud.io",

        "https://dockerproxy.com",

        "https://docker.mirrors.ustc.edu.cn",

        "https://docker.nju.edu.cn"

    ]

}

重启docker

[root@docker0 ~]# systemctl restart docker

[root@docker0 ~]# docker info

拉取centos镜像

[root@docker0 ~]# docker pull centos

Using default tag: latest

latest: Pulling from library/centos

a1d0c7532777: Pull complete

Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177

Status: Downloaded newer image for centos:latest

docker.io/library/centos:latest

查看镜像

[root@docker0 ~]# docker images

REPOSITORY   TAG       IMAGE ID       CREATED       SIZE

centos       latest    5d0da3dc9764   2 years ago   231MB

运行容器 

[root@docker0 ~]# docker run -it --name=c0 centos:latest /bin/bash

[root@9ef531eeae6c /]#

当前运行的进程

当前位置和启动时间

查看版本

[root@9ef531eeae6c /]#  cat /etc/redhat-release

CentOS Linux release 8.4.2105

配置阿里云的yum仓库

rm -rf /etc/yum.repos.d/*

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all && yum makecache

安装http

yum -y install httpd

 修改index.html文件

echo "docker_httpd_server" > /var/www/html/index.html

 启动http服务

httpd -k start

宿主机访问 

curl 容器IP地址:80     #ifconfig可获得

退出 

exit

4.docker管理远程管理

1.关闭docker守护进程

2.修改dock daemon的进程文件 

进入配置文件

[root@docker001 ns]# vim /usr/lib/systemd/system/docker.service

 删除相关sock的文件

 再次启动,发现有提示

 3.加载配置文件

systemctl daemon-reload 

systemctl start docker

4.重新开启docker守护进程 

 systemctl daemon-reload

 systemctl start docker

 5.添加配置文件对docker daemon 的配置

通过修改/etc/docker/daemo.json文件对docker守护进程进行配置,默认情况下没有daemon.json文件,在添加daemon之前,先修改。

修改

 重启

 6.实现远程连接

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

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

相关文章

PhotoZoom Pro 9:AI加持让图像放大革命性飞跃 PhotoZoom下载

全球领先的数字图片和图形缩放软件——PhotoZoom Pro 9&#xff0c;现已正式发布&#xff01;凭借全新的S-Spline Max AI图像缩放技术&#xff0c;PhotoZoom Pro 9在图像放大质量上达到了前所未有的高度。欢迎各位下载和体验最新的9系列版本。 PhotoZoom Pro 9发布 PhotoZoom9…

远端登录基础配置实验

1.作用 方便远程管理&#xff0c;并且传统的console线只能一个用户访问&#xff0c;而远程管理的协议&#xff0c;可以多用户同时登录。 2.基础远程管理方式 Telnet 协议 telnet协议提供了一种通过终端远程登录到服务器的方式&#xff0c;可以远程对设备进行配置和管…

Prometheus 1:安装(Centos7)

1. 同步时间 因Prometheus对时间精度要求高&#xff0c;所以安装前&#xff0c;需要与NTP同步时间&#xff1a; #设置系统显示时区为 亚洲上海 timedatectl set-timezone Asia/Shanghai#同步当地时间 ntpdate -u cn.pool.ntp.org 2. 同步时间后&#xff0c;从官网下载Prometh…

《Web项目跨域请求后端Api设置Cookie失败问题?》

问题描述&#xff1a; 在web项目中跨域请求api时&#xff0c;api登录成功后需要向域名中设置cookie实现在两个域名下共享&#xff0c;但是登录接口返回成功&#xff0c;响应头中也有set-cookie&#xff0c;实际却无法设置到cookie中… web项目访问时的域名https://b.com/ api所…

解决在IIS下typecho访问网址为localhost的问题

如何在IIS下为typecho开启伪静态 布署好typecho发现访问的地址是这样的 默认的访问地址可以看出是一个php的动态页面&#xff0c;通过配置&#xff0c;可以让地址看起来像是一个静态页面。 开启伪静态需要以下两个步骤&#xff1a; 1、增加IIS Rewrite模块重写规则 2、到typ…

牛客网NC1大数加法

因为要计算的是两个很大很大的数&#xff0c;假设计算出来的数据大于整型的最大值&#xff0c;此时就会出现问题。所以要换个方法来解决问题。 我们应该以字符串的形式来读取两个正整数&#xff0c;并且返回二者相加的结果 我们应该从大数的个位开始&#xff0c;逐级的向上相…

海康VisionMaster使用学习笔记13-串口通信

测试工具 协议介绍 串口在VM中的使用 1. RS232信号线定义 2. RS485信号线定义 3. 创建串口连接 4. 测试VM中串口接收数据

Java Programming Examples

Java Programming Examples Example - Environment How to compile a java file? How to debug a java file? How to set classpath? java -cp java -classpathHow to view current classpath? windows C:> echo %CLASSPATH%linux echo $CLASSPATHHow to set dest…

cbsd 设置网络问题留档

cbsd创建或导入虚拟机&#xff0c;网络不通。使用bridge一直不通&#xff0c;后来是通过设立VALENAT才调通的。 cbsd里网卡设置&#xff0c;里面可以设置网络的上一级 默认是auto 这里选bridge1 试试 失败 选tap1 试试 网络还是不通&#xff0c;但是好消息&#xff0c;是能…

element 使用printJS调用打印功能

1.安装依赖 npm install print-js --save 2.在main.js中全局引用 import printJS from print-js; 3.在页面中使用 <el-button type"success" plain icon"Printer" :disabled"single" click"handlePrint">打印</el-button…

VBA技术资料MF188:将Txt文件转换成Html文件

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

03:电容的充放电特性及应用举例

1.电容的基本特性&#xff1a;电容两端的电压不能突变 2.影响电容两端电压的参数&#xff1a;整个回路中电阻&#xff0c;电容大小 3.如何计算电容的电压变化时间&#xff1f; τRC R1k C1uF 则得到τ1ms的时间 应用&#xff1a;芯片使能延时

测试一组图像生成#Mixlab的异形头

“异形头”或“物体头” 通常指的是一种艺术或设计中的概念&#xff0c;人物的头部被替换为非人体的物体或异形结构。这种设计常见于超现实主义艺术、漫画、动画和游戏中&#xff0c;旨在创造视觉冲击或传达特定的主题和情感。 shadow&#xff1a; 这个概念还蛮有意思的&#x…

作为科协T1级,为何作者纷纷吐血拔草IEEE顶刊TEC,转投TIE和TTE,它输在哪了?

IEEE顶级期刊 本期解析一本能源与发电技术领域SCI&EI&#xff0c;期刊入选中国科协T1级目录&#xff0c;但网友的发表经历却一波三折&#xff0c;大批慕名而来的作者纷纷因其审稿速度很慢而“拔草”&#xff0c;甚至建议转投其它trans类型&#xff0c;这是怎么回事呢 1、期…

2-73 基于matlab的weber能量法求解齿轮时变啮合刚度的程序

基于matlab的weber能量法求解齿轮时变啮合刚度的程序&#xff0c;能够跑出刚度图&#xff0c;通过求解轮齿部分变形、基体变形及局部接触变形这三部分的变形&#xff0c;进而求得综合弹性变形&#xff0c;最终求出时变啮合刚度。程序已调通&#xff0c;可直接运行。 2- 73 齿轮…

乡村养老服务管理系统

TOC springboot549乡村养老服务管理系统pf 绪论 1.1 研究背景 现在大家正处于互联网加的时代&#xff0c;这个时代它就是一个信息内容无比丰富&#xff0c;信息处理与管理变得越加高效的网络化的时代&#xff0c;这个时代让大家的生活不仅变得更加地便利化&#xff0c;也让…

C++竞赛初阶L1-11-第五单元-for循环(25~26课)527: T456436 [NOIP2002 普及组] 级数求和

题目内容 已知&#xff1a;Sn​121​31​…n1​。显然对于任意一个整数 k&#xff0c;当 n 足够大的时候&#xff0c;Sn​>k。 现给出一个整数 k&#xff0c;要求计算出一个最小的 n&#xff0c;使得 Sn​>k。 输入格式 一个正整数 k。 输出格式 一个正整数 n。 样…

代码随想录DAY22 - 回溯算法 - 08/21

目录 理论回顾 什么是回溯法 回溯法的效率 回溯法解决的问题 如何理解回溯 组合 题干 思路和代码 递归法 递归优化&#xff1a;剪枝 组合总和Ⅲ 题干 思路和代码 递归法 递归优化 电话号码的字母组合 题干 思路和代码 递归法 理论回顾 什么是回溯法 回溯是…

Python模块依赖注入实现依赖反转使用详解

概要 在软件开发中,依赖注入(Dependency Injection, DI)是一种实现依赖反转(Inversion of Control, IoC)的设计模式,它可以提高代码的灵活性和可测试性。通过依赖注入,模块之间的耦合度被降低,使得代码更容易扩展和维护。在Python开发中,依赖注入虽然不像某些静态类型…

mac安装xmind

文章目录 介绍软件功能下载安装1.下载完成后打开downloads 双击进行安装2.将软件拖到应用程序中3.在启动台中搜索打开4.提示损坏问题解决5.执行完成关闭命令窗口6.打开成功&#xff0c;点击继续&#xff0c;跳过登录7.打开成功后&#xff0c;点击关于 小结 介绍 XMind 是一款流…