【Docker】概述与安装

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于Docker的相关操作吧

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

一. Docker的概述

1.Docker为什么出现

2.Docker是什么

3.Docker有什么作用

4.Docker三要素

5.Docker和虚拟机的区别

二.Docker的安装

1.检查内核版本

2.卸载可能存在的旧版本

3.安装必要的系统工具

4.添加docker-ce安装源

5.更新yum缓存

6.安装docker-CE

三.Docker基本使用 

1.基本操作

(1)查看服务状态

(2)启停服务

①开启服务

②停止服务

③重启服务

(3)开机自启

(4)开机不自启

2.镜像的相关操作

(1)查看是否有镜像

(2)下载镜像

①配置加速器

②下载镜像

(3)查看宿主机上的镜像

(4)删除镜像

3.容器相关的操作

(1)创建容器

(2)启动容器

(3)停止容器

(4)重启容器

(5)查看当前的容器

(6)删除容器

(7)进入容器

(8)退出容器


一. Docker的概述

1.Docker为什么出现

        我们在开发过程中,可能经常会遇到这种问题。当项目中自己负责的模块完成时,每个工程师都会使用自己的开发环境来构建和测试应用程序。这就会导致一个常见的问题:当一个工程师将代码提交给源代码管理系统后,另一个工程师在拉取代码并尝试构建时,经常会遇到依赖项不一致的问题。有时候,即使两个工程师使用相同的依赖版本,由于操作系统或系统库的差异,也会导致应用程序在不同环境中表现出不同的行为

        同时,公司的运维团队在部署应用程序时也遇到了一些问题。他们使用了一些脚本和配置文件来手动安装和配置应用程序的依赖项。这个过程非常耗时且容易出错,导致了频繁的部署失败和生产环境中的故障。

        于是就有人想到将应用程序及其所有依赖打包到一个容器中。这个容器包含了应用程序所需的所有运行时环境、库和配置文件。通过使用这个容器,就可以确保每个开发人员、测试人员和运维人员都使用相同的容器来工作,消除了因为环境差异而导致的兼容性问题。这个容器就是Docker

2.Docker是什么

        上面也讲到了Docker的定义,但是这里我再详细的描述一下Docker。

         Docker是一种开源的容器化平台,它可以让开发者将应用程序及其所有依赖项打包到一个轻量级、可移植的容器中,并在任何地方运行这些容器,无论是在开发、测试还是生产环境中。Docker使用了Linux容器技术来实现这个功能,通过隔离进程、文件系统和网络空间等资源,使得容器内的应用程序可以独立于宿主操作系统而运行。       

3.Docker有什么作用

  1. 轻量级和可移植性:Docker使用容器化技术,将应用程序及其所有依赖项打包到一个轻量级的容器中。这使得容器可以在不同的环境中运行,而不受宿主操作系统和硬件的影响。容器可以在开发、测试和生产环境之间进行快速、一致和可靠的部署。

  2. 环境隔离:Docker通过使用Linux容器技术,实现了应用程序与宿主操作系统之间的隔离。这意味着每个Docker容器都具有独立的文件系统、进程空间和网络栈,相互之间不会产生干扰。这种隔离性使得开发人员可以在同一台机器上同时运行多个容器,而不必担心它们之间的冲突和依赖关系。

  3. 一致性和可重复性:Docker镜像是一个只读的模板,其中包含了应用程序及其所有的依赖项、运行时环境、库和配置文件等。通过使用Docker,开发者可以确保每个人都使用相同的镜像来构建和运行应用程序,消除了因为环境差异而导致的兼容性问题。这种一致性和可重复性使得团队成员可以更加方便地共享和协作。

  4. 快速部署和扩展:Docker提供了一系列强大的工具和功能来简化应用程序的部署和扩展过程。通过使用Docker镜像,开发者可以快速创建新的容器,并将其部署到任何支持Docker的主机上。此外,Docker还提供了容器编排工具,如Docker Compose和Kubernetes,可以自动化应用程序的扩展、负载均衡和故障恢复等操作。

  5. 版本控制和回滚:Docker镜像可以被版本控制系统管理,使得开发者可以轻松地跟踪和管理应用程序的不同版本。如果出现问题,开发者可以快速回滚到之前的版本,以避免影响生产环境。

在Docker出现之前,我们都是使用虚拟机来测试和部署项目的,但使用虚拟机也会有弊端。在同一台物理机上运行多个虚拟机时,会导致资源竞争,降低系统性能等。但是Docker就不一样了...

4.Docker三要素

 Docker的核心组件包括Docker仓库、Docker镜像和Docker容器。

  • Docker仓库是集中存放镜像文件的场所。 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。 最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。           
  • Docker镜像是一个只读的模板,其中包含了应用程序及其所有依赖项、运行时环境、库和配置文件等。【Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载 一 个已经做好的镜像来直接使用。
  • Docker容器则是从Docker镜像创建的运行实例,它可以被启动、停止、重启、删除等。

5.Docker和虚拟机的区别

  • VM(VMware)在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓 库,然后再安装应用;
  • Container(Docker容器),在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上再安装 应用。

二.Docker的安装

Docker的安装是在虚拟机上操作的,关于虚拟机的安装,我也写了一篇很详尽的博文,感兴趣可以看看

【Linux】操作系统以及虚拟机的安装与配置icon-default.png?t=N7T8http://t.csdnimg.cn/ZyckP

1.检查内核版本

uname -r

2.卸载可能存在的旧版本

如果有旧版本存在的话,就将其卸载掉

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

3.安装必要的系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

成功了便是这样的

4.添加docker-ce安装源

这里为了快捷,我是用的是阿里源,所以需要先配置阿里云Docker Yum源

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

5.更新yum缓存

yum makecache fast

6.安装docker-CE

yum -y install docker-ce

三.Docker基本使用 

1.基本操作

(1)查看服务状态

systemctl status docker

(2)启停服务

①开启服务
systemctl start docker
②停止服务
systemctl stop docker
③重启服务
systemctl restart docker

(3)开机自启

systemctl enable docker

(4)开机不自启

systemctl disable docker

2.镜像的相关操作

(1)查看是否有镜像

docker images

(2)下载镜像

①配置加速器

进入阿里云网站,然后进入到控制台

将其中配置靖江加速器的那一段代码复制下来,赋值对应版本的就行【我使用的是centos】

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://vq5w5mzb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

将这个执行完毕之后,也可以检查一下,直接查看这个文件,里面有东西,就说明好啦

②下载镜像

后面可以指定版本号,如果没有指定的话,默认使用的是最新版本的

docker pull nginx

(3)查看宿主机上的镜像

docker images

(4)删除镜像

如果提示镜像被使用,需要先停止某个ID的容器,那么要先删除容器再删除镜像。或者强制删除镜像。 正确做法:先删除依赖该镜像的所有容器, 再来删除镜像

docker rmi centos

还有一个是强制删除

docker rmi -f centos:latest

3.容器相关的操作

(1)创建容器

-it:是两个参数,

-i:interactive容器具有交互功能

-t:容器将提供伪终端

--name:指定生成的容器的名字,允许空,如果不指定会自动生成

docker create -it 镜像名

指定容器的名字

docker create -it --name 容器名 镜像名

(2)启动容器
docker start 容器ID|name|name:tag

(3)停止容器
docker stop 容器ID|name|name:tag
(4)重启容器
docker restart 容器ID|name|name:tag
(5)查看当前的容器
docker ps

或者使用这个,可以查看未运行的容器

docker ps -a
(6)删除容器
docker rm 容器ID

强制删除

docker rm -f 容器ID
(7)进入容器

用这个进入容器时,前面会显示出此容器的ID

docker exec -it 容器ID/容器NAME bash

这个不会显示容器ID

docker exec -it 容器ID/容器NAME sh
(8)退出容器
  • 退出时如果想继续运行容器:按顺序按【ctrl+p】,【ctrl+q】
  • 如果不想继续运行:按【ctrl+d】或输入exit

好啦,今天的分享就到这了,希望能够帮到你呢!😊😊 

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

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

相关文章

Vue入门五(Vue-CLI项目搭建|vue项目目录介绍|vue项目开发规范|es6导入导出语法)

文章目录 一、Vue-CLI 项目搭建介绍node环境搭建1) 下载与安装2&#xff09;测试是否安装成功 安装vue-cli安装vue脚手架 创建Vue项目1&#xff09;使用命令创建项目2&#xff09;使用图形化界面创建项目 二、vue项目目录介绍1.命令行运行vue项目2.Pycharm中运行项目3.目录结构…

Java基础项目---飞机大战的简易实现

推荐阅读 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;一&#xff09; 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;二&#xff09; 文章目录 推荐阅读前言一、系统分析问题描述总体设计功能流程图 二、程序和算法的介绍FlyingOb…

Open CASCADE学习|参数化球面的奇异性

参数曲面的奇异性是一个相对复杂的概念&#xff0c;它涉及到参数曲面的几何特性和参数化过程中的一些特殊情况。参数曲面通常用于描述三维空间中的复杂形状&#xff0c;通过参数方程将二维参数域映射到三维空间中。然而&#xff0c;在某些情况下&#xff0c;参数曲面可能会表现…

回顾2023,展望未来

回顾2023 重拾博客 CSDN博客创建和写作&#xff0c;几乎是和我正式开始学习编程开始&#xff0c;至今已经6年。刚上编程课的时候&#xff0c;刚上C语言课的时候&#xff0c;老师说可以通过写技术博客来帮助自己更好学习&#xff0c;于是我就开始自己的技术博客编写之旅。 我…

在微信上秒杀链接怎么做_带给用户微信秒杀新体验

微信秒杀新体验&#xff1a;让每一次点击都成为一次抢购的狂欢&#xff01; 在这个数字化、信息化的时代&#xff0c;微信已经成为了我们生活中不可或缺的一部分。与此同时&#xff0c;微信营销也成为了众多商家竞相角逐的新战场。如何在众多的营销信息中脱颖而出&#xff0c;吸…

持续构建行业影响力|HarmonyOS SDK荣膺年度“技术卓越”奖项

自2023年9月华为宣布鸿蒙原生应用全面启动以来&#xff0c;HarmonyOS SDK通过将HarmonyOS系统级能力对外开放&#xff0c;支撑开发者高效打造更纯净、更智能、更精致、更易用的鸿蒙原生应用&#xff0c;和开发者共同成长。 通过在开发者社区和HarmonyOS开发者持续的内容共创与技…

Leetcode 494 目标和

题意理解&#xff1a; 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2 之前添加 &#xff0c;在 1 之前添…

Curl命令POST请求

curl工具介绍&#xff1a; CURL是一个利用URL语法在命令行下工作的文件传输工具&#xff0c;被广泛应用在Unix、Linux发行版中&#xff0c;并且有DOS和Win32、Win64的移植版本。同时它还支持诸多的通信协议&#xff08;我们常用的有HTTP、HTTPS、FTP、SMTP、TELNET等&#xff0…

网站ICP备案和公安备案教程

由于最近华为云那边的服务器到期了&#xff0c;而续费的价格比较贵一点&#xff0c;刚好阿里云这边有活动就入手了一台&#xff0c;但是将网站迁移过来后发现又要进行ICP备案&#xff0c;那就备案呗。但是备案完成之后发现还有一个公安备案&#xff0c;真让人头大啊... 很多人也…

vue3dLoader Cannot read properties of null (reading ‘setCrossOrigin‘)“这个报错怎么解决?

默认情况下crossOrigin默认值是“anonymous” 如果出现报错的情况 请设置crossOrigin为空字符串即可。如&#xff1a; <vue3dLoader crossOrigin""> 相关阅读 推荐&#xff1a;vue-3d-loader支持.dae/.fbx/.gltf/.glb/.obj/.ply/.stl/.json&#xff0c;并支…

Java基础到高级:锁的全面解析与实践

前言 在项目开发过程中&#xff0c;当需要使用多线程去处理一些业务问题的时候&#xff0c;尤其涉及到多线程读写数据同时发生的操作时&#xff0c;就会产生一些线程安全的问题。那如何理解线程安全问题呢&#xff1f; 线程安全问题是指多线程环境中&#xff0c;由于存在数据…

Python入门-面向对象

1.类和对象 是不是很熟悉&#xff1f;和Java一样&#xff0c;在Python中&#xff0c;都可以把万物看成(封装成)对象。它俩都是面向对象编程 1.1 查看对象数据类型 a 10 b 9.8 c helloprint(type(a)) print(type(b)) print(type(c))运行结果&#xff1a; D:\Python_Home\v…

k8s-调度 13

调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。 kube-scheduler 是 Kubernetes 集群的默认调度器&#xff0c;并且是集群控制面的一部分。 如果你真的希望或者有…

C#上位机与欧姆龙PLC的通信11----【爆肝】上位机应用开发(Winform版)

1、先上图 前面10讲&#xff0c;让你爽煹了肝&#xff0c;已经进入最后收尾阶段&#xff0c;这节来个常规应用&#xff0c;让前面的技能直接飞上天&#xff0c;我们要做的界面软件是这样的&#xff0c;虽然没有潘金莲漂亮&#xff0c;但也是爆抱&#xff1a; 2、如何爆&#x…

爬虫到底违法吗?你离违法还有多远?

最近&#xff0c;国家依法查处了部分编写爬虫程序&#xff0c;盗取其他公司数据的不良企业。一时间风声鹤唳&#xff0c;关于爬虫程序是否违法的讨论遍布程序员圈子。那么到底编写爬虫程序是否违法呢&#xff1f; 其爬虫下载数据&#xff0c;一般而言都不违法&#xff0c;因为…

【机器学习】模型调参工具:Hyperopt 使用指南

机器学习| 模型调参工具&#xff1a;Hyperopt 使用指南 前言1. Hyperopt是什么&#xff1f;2. Hyperopt的优缺点3. 如何使用 Hyperopt 进行调参3.1 安装 Hyperopt3.2 构建超参数空间3.3 定义目标函数3.4 运行 Hyperopt 优化3.5 获取最优超参数 4. XGB调参代码示例参考资料 前言…

Hyperledger Fabric Docker 方式多机部署生产网络

规划网络拓扑 3 个 orderer 节点&#xff1b;组织 org1 , org1 下有两个 peer 节点&#xff0c; peer0 和 peer1; 组织 org2 , org2 下有两个 peer 节点&#xff0c; peer0 和 peer1; 因为我只有 3 台虚拟机资源所以没法实现完全的多机部署&#xff0c;资源使用规划如下&#…

智能分析网关V4方案:太阳能+4G+AI识别搭建智慧果园/种植园远程视频监控监管方案

一、方案背景 我国是水果生产大国&#xff0c;果园种植面积大、产量高。由于果园的位置大都相对偏远、面积较大、看守人员较少&#xff0c;值守的工作人员无法顾及园区每个角落&#xff0c;果园财产安全成为了关注的重点。人为偷盗、野生生物偷吃等事件时有发生&#xff0c;并…

磷酸铁锂电池生产污废水需要哪些工艺及设备

磷酸铁锂电池作为一种常见的锂离子电池&#xff0c;已广泛应用于电动汽车、储能系统等领域。然而&#xff0c;在磷酸铁锂电池的生产过程中&#xff0c;难免会产生一定量的污废水。为了有效处理和处理这些污废水&#xff0c;我们需要合适的工艺和设备。 首先&#xff0c;针对磷酸…

制造业卓越管理从6S管理开始

在当今制造业环境中&#xff0c;企业间的竞争愈发激烈&#xff0c;而管理水平的卓越与否&#xff0c;直接决定了企业在市场竞争中的地位和成功与否。管理并非一蹴而就&#xff0c;需要经过不断的实践和探索&#xff0c;逐步提升。其中&#xff0c;6S管理作为现代企业管理的基础…