【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 centos

指定成的容器的名字

docker create -it --name centos01 centos
(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 /bin/bash

这个不会显示容器ID

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

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

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

相关文章

【设计模式-7】门面模式的代码实现和应用场景

门面模式&#xff0c;最简单的结构性设计模式&#xff0c;将多个不同的子系统逻辑封装起来&#xff0c;对外提供统一的调用接口。门面模式又叫做外观模式&#xff0c;可能是我们接触最多的模式&#xff0c;在开发中&#xff0c;可能不经意间就用到了门面模式。 1. 概述 门面模…

设计模式之组合模式【结构型模式】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某…

极客时间-读多写少型缓存设计

背景 内容是极客时间-徐长龙老师的高并发系统实战课的个人学习笔记&#xff0c;欢迎大家学习&#xff01;https://time.geekbang.org/column/article/596644 总览内容如下&#xff1a; 缓存性价比 一般来说&#xff0c;只有热点数据放到缓存才更有价值 数据量查询频率命中…

Dubbo接口测试没你想的那么高大上

主题&#xff1a;Dubbo接口测试没你想的那么高大上 一、Dubbo是什么&#xff1f; Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架一款分布式服务框架、高性能和透明化的RPC远程服务调用方案、SOA服务治理方案下图是阿里巴巴技术解决方案演变图&#xff0c;从单应用->…

CAN201 计网概念收集

Lecture 1 the theoretical basis for networking Network edge and core 地理覆盖范围&#xff1a;广WAN&#xff0c;城MAN&#xff0c;局LAN&#xff0c;个PAN 交换方式&#xff0c;电路&#xff0c;报文&#xff0c;分组 电路交换vs报文vs分组 Network performance pr…

文件上传进阶绕过技巧(一)和靶场实战

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性&#xff0c;仅供安全研究与学习之用&#xff0c;读者将信息做其他用途&#xff0c;由Ta承担全部法律及连带责任&#xff0c;文章作者不承担任何法律及连带责任。 0、环境准备 请移步《文件上传靶场实战&#xff1a;upl…

倍福CX8090嵌入式PLC新风控制开发

实现新风系统控制的方法与硬件配置、软件编程以及控制需求等因素有关。以下是一个简化的示例&#xff0c;说明如何使用倍福CX8090 PLC来实现新风系统的控制&#xff1a; 硬件配置&#xff1a; 倍福CX8090 PLC温度和湿度传感器风阀执行器显示屏软件编程&#xff1a; 使用倍福的…

深度解析Java中的ReadWriteLock:高效处理并发读写操作

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;今天咱们聊聊读写锁。当多个线程同时对同一数据进行读写操作时&#xff0c;如果没有合理的管理&#xff0c;那数据就乱套了。就好比小黑在写日记&#xff0c;突然来了一帮朋友&#xff0c;大家都想往日记本上写点…

从头安装与使用一个docker GPU环境

GPU版docker的安装与使用 欢迎使用GPU版docker安装使用说明使用官方教程安装docker新建一个GPU版docker环境调用docker环境执行本地python文件 欢迎使用GPU版docker安装使用说明 使用官方教程安装docker 导入源仓库的GPG key curl -fsSL https://download.docker.com/linux/…

基于 NFS 的文件共享实现

NFS&#xff08;Network File System&#xff09;即网络文件系统&#xff0c;它允许网络中的计算机之间通过 TCP/IP 网络共享文件资源&#xff0c;服务端通过 NFS 共享文件目录&#xff0c;客户端将该文件目录挂载在本地文件系统中&#xff0c;就可以像操作本地文件一样读写服务…

【AI之路】使用huggingface_hub通过huggingface镜像站hf-mirror.com下载大模型(附代码,实现大模型自由)

文章目录 前言一、Hugging face是什么&#xff1f;二、huggingface镜像站hf-mirror.com三、大模型一键下载1. 准备工作2. 下载代码 总结后记 前言 要玩AI大模型&#xff0c;Hugging face 不可错过&#xff0c;但资源虽不错&#xff0c;可奈何国内下载速度很慢&#xff0c;动则…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑦

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷7 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷7 模块一 …