容器docker入门学习

news2025/4/20 3:03:01

这里写目录标题

  • 容器
    • 容器的软件厂商
  • docker
    • docker引擎
  • 虚拟化
    • 虚拟化技术
  • docker安装详解
    • 1、安装检查
    • 2、安装yum相关的工具
    • 3、安装docker-ce软件
    • 4、查看docker版本
    • 5、启动docker服务
    • 6、设置docker开机启动
    • 7、查看有哪些docker容器运行进程
    • 8、查看容器里有哪些镜像
    • 9、下载nginx软件
    • 10、启动一个docker容器的命令
    • 11、启动一个为sc-nginx的容器
    • 12、查看防火墙的设置
    • 13、防火墙nat详解
    • 14、nginx访问测试

容器

轻量级的虚拟机,更加节省资源(cpu、内存、磁盘、带宽等)的虚拟机。
优点:省钱、成本低、速度更加快,扩展性更加强。serverless。

容器的软件厂商

① docker:提供容器技术的软件;
② k8s:kubernetes是容器集群管理软件,可以管理很多台服务器上的docker启动的容器。可以实现容器的分布式管理,综合很多容器的软件。k8s也是一个软件,用来管理多台服务器上的docker容器的。容器集群编排工具。

docker

docker是一个轻量级、可移植的虚拟化技术,通过容器化技术实现应用程序的打包、运输和运行。
docker
在这里插入图片描述

container集装箱一个封闭的空间,里面可以运行我们的程序。
1、集装箱container
集装箱:存放货物的地方
在这里插入图片描述
有隔离作用:靠Linux内核来实现的。一个进程对应一个容器。
2、what a container
a standard unit of software。
1、docker的框架:一个真实的机器里面装一个linux系统,系统里面装docker,docker里面再装容器,每个容器里面装一个服务。
在这里插入图片描述
3、docker和容器的区别
docker都是用来管理容器的一个软件。

docker引擎

Docker引擎是一种开源容器化技术,用于构建和容器化应用程序。Docker引擎充当客户端-服务器应用程序,具有:
① 具有长时间运行的守护进程dockerd的服务器。
② 指定程序可用于与Docker守护程序通信和指示docker守护程序的接口的API。
③ 命令行界面(CLI)客户端泊坞窗。

CLI使用Docker API通过脚本或直接CLI命令来控制Docker守护程序或与Docker守护程序交互。许多其他Docker应用程序使用底层API和CLI。守护程序创建和管理Docker对象,例如镜像、容器、网络和卷。

虚拟化

虚拟化virtualization:模拟出来的,不是物理的,算真的。
容器技术:container,存放东西的地方。容纳别的东西的器皿。
docker,containerd,k8s等。

虚拟化技术

VMware:workstation :入门级的产品
docker:容器技术的经典代表。
CNF 云原生基金会:Google Redhat ibm等:K8S(kubernetes):containerd(容器运行时软件)
docker是容器运行时软件----容器软件
k8s是管理容器运行时的软件(docker、containerd、rki等)—k8s理解为管理docker集群的软件。
k8s是建立再docker上的。
docker和k8s都是使用go语言开发的
只要是与k8s相关的技术都叫云原生相关的技术,容器理解为一个虚拟机,虚拟机是不是运行软件?

docker安装详解

安装具体流程可以参考之前的文章,这里做个大概的安装流程介绍:
docker安装详细教程

1、安装检查

卸载原来安装过的docker,如果没有安装的就不用进行卸载

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

2、安装yum相关的工具

下载docker-ce.repo文件

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

下载docker-ce.repo文件做个文件存在/etc/yum.repo.d

3、安装docker-ce软件

container engine:容器引擎
docker是一个容器管理的软件
docker-ce:是服务器端软件 server
docker-ce-cli:是客户端软件 client
docker-compose-plugin

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

4、查看docker版本

docker --version

[root@sc-master shell]# docker --version
Docker version 20.10.17, build 100c701

5、启动docker服务

systemctl start docker

systemctl start docker

6、设置docker开机启动

systemctl enable docker

systemctl enable docker

1个docker 启动的每一个容器的背后就是一个linux进程

7、查看有哪些docker容器运行进程

docker ps

[root@sc-master shell]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS  

8、查看容器里有哪些镜像

docker images --images 镜像,镜像里面包含了我们需要的软件的代码和基础环境。

[root@sc-master shell]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   11 months ago   13.3kB

9、下载nginx软件

docker pull nginx

[root@sc-master shell]# docker images 查看nginx镜像软件
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
nginx         latest    2b7d6430f78d   2 days ago      142MB
hello-world   latest    feb5d9fea6a5   11 months ago   13.3kB

10、启动一个docker容器的命令

docker run
启动一个容器,可以理解为开启一台虚拟机,相当于将nginx放入容器中进行运行,这样就可以限制其他的cpu资源。

11、启动一个为sc-nginx的容器

docker run -d -p 8090:80 --name sc-nginx nginx

[root@sc-master shell]# docker run -d -p 8090:80 --name sc-nginx nginx
1d3e0fdfaf8f971523ce5b539dda1c6c8c609c8e88c29361ed77e2f778e376e0

注解:
-d:在后台运行demo 、daemon守护进程
-p 8090:80 指定端口映射 DNAT:访问本机的8090端口,转发到docker容器的80端口。
–name sc-nginx 指定容器的名字为:sc-nginx
nginx是镜像的名字

12、查看防火墙的设置

iptables -t nat -L

[root@sc-master shell]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL
DNAT       tcp  --  anywhere             anywhere             tcp dpt:8090 to:172.17.0.2:80

查看容器启动的进程:

[root@sc-master shell]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
1d3e0fdfaf8f   nginx     "/docker-entrypoint.…"   7 minutes ago   Up 7 minutes   0.0.0.0:8090->80/tcp, :::8090->80/tcp   sc-nginx

13、防火墙nat详解

图片理解:使用了nat功能,用户要去访问:
在这里插入图片描述
docker0:是宿主机与其他容器之间进行通信的网关,也就是lan口。

14、nginx访问测试

然后去客户机上能否访问,访问宿主机的8090端口,去浏览器上输入:http://宿主机ip地址:8090/
我的是:http://192.168.2.152:8090/
在这里插入图片描述
如果因为镜像没有访问到的话,可以先关闭防火墙和重启docker服务进行解决,如果重启docker服务的话,可能会导致之前的镜像停止,所以先查看所有的容器,包括停止的,然后再启动已经停止的容器。
1、关闭防火墙:

service firewalld stop

2、重启docker服务

service docker restart 

3、查看所有的容器,包括已经停止的

docker ps -a

4、启动已经停止的容器

docker start sc-nginx

5、再查看是否已经启动成功

docker ps

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

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

相关文章

HarmonyOS NEXT开发教程:全局悬浮窗

今天跟大家分享一下HarmonyOS开发中的悬浮窗。 对于悬浮窗,可能有的同学会想到使用层叠布局是否可以实现,将悬浮窗叠在导航栏组件Tabs上,像这样: Stack({alignContent:Alignment.BottomEnd}){Tabs({barPosition:BarPosition.End…

解锁元生代:ComfyUI工作流与云原生后端的深度融合

目录 蓝耘元生代:智算新势力崛起​ ComfyUI 工作流创建详解​ ComfyUI 初印象​ 蓝耘平台上搭建 ComfyUI 工作流​ 构建基础工作流实操​ 代码示例与原理剖析​ 云原生后端技术全景 云原生后端概念解析​ 核心技术深度解读​ 蓝耘元生代中两者的紧密联系​…

STM32 基本GPIO控制

目录 GPIO基础知识 ​编辑IO八种工作模式 固件库实现LED点灯 蜂鸣器 按键基础知识 ​编辑继电器 震动传感器 433M无线模块 GPIO基础知识 GPIO(General-Purpose input/output,通用输入/输出接口) 用于感知外部信号(输入模式)和控制外部设备&…

汽车免拆诊断案例 | 2019款大众途观L车鼓风机偶尔不工作

故障现象 一辆2019款大众途观L车,搭载DKV发动机和0DE双离合变速器,累计行驶里程约为8万km。车主进厂反映,鼓风机偶尔不工作。 故障诊断  接车后试车,鼓风机各挡位均工作正常。用故障检测仪检测,空调控制单元&#x…

FastAPI与SQLAlchemy数据库集成

title: FastAPI与SQLAlchemy数据库集成 date: 2025/04/17 15:33:34 updated: 2025/04/17 15:33:34 author: cmdragon excerpt: FastAPI与SQLAlchemy的集成通过创建虚拟环境、安装依赖、配置数据库连接、定义数据模型和实现路由来完成。核心模块包括数据库引擎、会话工厂和声…

免费将静态网站部署到服务器方法(仅支持HTML,CSS,JS)

原视频链接:把HTML免费部署到网站上,实现别人也能访问的教程来啦QAQ_哔哩哔哩_bilibili 注意:仅支持HTML、CSS、JS。不支持Vue等框架。 1.打开网站www.wordpress.org 点击红框按钮 点击红框按钮下载wordpress模板文件并解压。 将自己编写的…

51单片机实验一:点亮led灯

目录 一、实验环境与实验器材 二、实验内容及实验步骤 1.用keil 软件创建工程,C文件编写程序,编译生成hex文件​编辑 2.用STC烧写hex文件,点亮第一个LED灯 3.使用法2,点除第一个以外的LED灯 一、实验环境与实验器材 环境&am…

PyCharm 开发工具 修改字体大小及使用滚轮没有反应

PyCharm 开发工具 修改字体大小及使用滚轮没有反应 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是PyCharm 开发工具。前后每一小节的内容是有学习/理解关联性,希望对您有用~ PyCharm 开发工具 修改字体大小…

zookeeper启动报错have small server identifier

解决方案: 1、查看myid是否有重复 2、查看server.X 与myid的X是否一致 3、启动顺序为myid从小到大的服务器顺序

1.Framer Motion 中 motion/react 和 motion/react-client 的用法和区别

背景知识:服务器端渲染 (SSR) 和客户端渲染 (CSR) 在最新的 Motion for React(原 Framer Motion)12.x 及更高版本中,官方提供了两个入口模块:motion/react 和 motion/react-client。二者对外 API 完全一致&#xff0c…

简易 Python 爬虫实现,10min可完成带效果源码

目录 准备工作 编写爬虫代码 运行爬虫 查看结果 遇到的问题及解决 总结 前言和效果 本文记录了使用 Python 实现一个简单网页爬虫的过程,目标是爬取 quotes.toscrape.com 的名言和作者,并将结果保存到文本文件。以下是完整步骤,包含环境…

【学习笔记】Py网络爬虫学习记录(更新中)

目录 一、入门实践——爬取百度网页 二、网络基础知识 1、两种渲染方式 2、HTTP解析 三、Request入门 1、get方式 - 百度搜索/豆瓣电影排行 2、post方式 - 百度翻译 四、数据解析提取三种方式 1、re正则表达式解析 (1)常用元字符 &#xff0…

旅游资源网站登录(jsp+ssm+mysql5.x)

旅游资源网站登录(jspssmmysql5.x) 旅游资源网站是一个为旅游爱好者提供全面服务的平台。网站登录界面简洁明了,用户可以选择以管理员或普通用户身份登录。成功登录后,用户可以访问个人中心,进行修改密码和个人信息管理。用户管理模块允许管…

C语言链接数据库

目录 使用 yum 配置 mysqld 环境 查看 mysqld 服务的版本 创建 mysql 句柄 链接数据库 使用数据库 增加数据 修改数据 查询数据 获取查询结果的行数 获取查询结果的列数 获取查询结果的列名 获取查询结果所有数据 断开链接 C语言访问mysql数据库整体源码 通过…

中间件--ClickHouse-9--MPP架构(分布式计算架构)

1、MPP 架构基础概念 MPP(Massively Parallel Processing 大规模并行处理) 是一种分布式计算架构,专门设计用来高效处理大规模数据集。在这种架构下*,数据库被分割成多个部分,每个部分可以在不同的服务器节点上并行处理*。这意味着&#xff…

分布式计算领域的前沿工具:Ray、Kubeflow与Spark的对比与协同

在当今机器学习和大数据领域,分布式计算已成为解决大规模计算问题的关键技术。本文将深入探讨三种主流分布式计算框架——Ray、Kubeflow和Spark,分析它们各自的特点、应用场景以及如何结合它们的优势创建更强大的计算平台。 Spark批量清洗快,…

每天学一个 Linux 命令(20):find

​​可访问网站查看,视觉品味拉满: http://www.616vip.cn/20/index.html find 是 Linux 系统中最强大的文件搜索工具之一,支持按名称、类型、时间、大小、权限等多种条件查找文件,并支持对搜索结果执行操作(如删除、复制、执行命令等)。掌握 find 可大幅提升文件管理效率…

Winform发展历程

Windows Forms (WinForms) 发展历程 起源与背景(1998-2002) Windows Forms(简称WinForms)是微软公司推出的基于.NET Framework的GUI(图形用户界面)开发框架,于2002年随着.NET Framework 1.0的…

npx 的作用以及延伸知识(.bin目录,npm run xx 执行)

文章目录 前言原理解析1. npx 的作用2. 为什么会有 node_modules/.bin/lerna3. npx 的查找顺序4. 执行流程总结1: 1. .bin 机制什么是 node_modules/.bin?例子 2. npx 的底层实现npx 是如何工作的?为什么推荐用 npx?npx 的特殊能力…

本地部署DeepSeek-R1(Dify升级最新版本、新增插件功能、过滤推理思考过程)

下载最新版本Dify Dify1.0版本之前不支持插件功能,先升级DIfy 下载最新版本,目前1.0.1 Git地址:https://github.com/langgenius/dify/releases/tag/1.0.1 我这里下载到老版本同一个目录并解压 拷贝老数据 需先停用老版本Dify PS D:\D…