Docker入门

本文详细介绍了Docker的概念、使用场景、与VMware的区别,以及其安装、配置、基本命令和镜像管理。重点阐述了Docker如何简化开发、运维和企业应用部署,以及与虚拟机技术的不同之处。
摘要由CSDN通过智能技术生成

一、Dpcker简介

1.1 是什么

一种开源的容器化平台,可以让开发者将应用程序及其依赖项打包成一个独立的容器,然后部署到任何支持Docker的环境中运行。通过使用Docker,开发者可以实现快速部署、可移植性、可伸缩性和更高的资源利用率。 Docker的核心概念是容器,它是一个轻量级、独立的运行环境,包含了应用程序的代码、运行时环境、系统工具和系统库,可以在任何支持Docker的平台上运行。 Docker还提供了一套工具和服务,如Docker Engine、Docker Compose和Docker Swarm,帮助开发者管理和部署容器化应用程序。 Docker已经成为现代软件开发和部署的重要工具之一(新一代虚拟技术,老一代是VMware,会占用大量内存)。

1.2 使用场景

①、面向开发人员的Web应用自动化打包和发布:在没有Docker之前,开发、测试、生产环境可能不一致,导致文件配置上的不一致。使用Docker后,容器内的程序端口一致,而容器对外暴露的端口可能不同,但不影响程序的交付和运行,保证了环境一致性,并实现了快速部署。
②、面向运维人员的运维成本降低:部署程序时,搭建运行环境和解决环境依赖是非常耗时的。Docker通过镜像机制,将代码和环境直接打包成镜像,上传到容器即可启动,大大节约了部署时间。
③、面向企业的PaaS层实现:在一台物理机上可以部署多个轻量级的Docker容器,大大提高了运行效率。
④、微服务架构:在微服务架构中,应用程序被拆分成多个小型、独立的服务。Docker可以用来容器化这些服务,使它们可以独立部署和扩展。
⑤、应用迁移和移植:Docker可以帮助开发者轻松地将应用从开发环境迁移到生产环境,甚至在不同云服务提供商之间迁移,因为Docker容器提供了环境一致性。
⑥、隔离应用:Docker容器提供应用级别的隔离,使不同的应用可以在同一台机器上运行,互不干扰。
⑦、整合服务器:通过Docker,可以将多个服务整合到少数几台高性能服务器上,提高资源利用率,简化系统维护。
⑧、云计算和容器云:Docker容器可以在云环境中快速部署,无论是公有云、私有云还是混合云,都可以实现资源的灵活分配和自动化管理。

1.3 Docker和VMware区别

都是用于虚拟化技术的工具,但它们有一些重要的区别:
①、虚拟化级别:Docker是一种容器化技术,它利用容器来隔离应用程序和其依赖的环境。而VMware是一种虚拟机技术,它模拟了一台完整的计算机系统,包括硬件、操作系统和应用程序。
②、性能:由于Docker容器共享主机的操作系统内核,因此在性能方面比VMware虚拟机更高效。VMware虚拟机需要独立的操作系统和硬件模拟,因此在资源消耗和性能方面通常会有一些额外的开销。
③、部署和管理:Docker容器可以更快速地部署和启动,而且可以更容易地进行扩展和管理。VMware虚拟机需要较长时间来启动,并且需要更多的管理和配置。
④、灵活性:Docker容器更加轻量级和灵活,可以在不同的环境中移植和部署。VMware虚拟机则需要更多的配置和资源来运行

总的来说,Docker更适合于轻量级和快速部署的应用程序,而VMware更适合于需要完全隔离和独立操作系统的应用程序。选择使用哪种虚拟化技术取决于具体的需求和场景。

在这里插入图片描述

1.4优缺点

优点
①简化程序:Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
②避免选择恐惧症:如果你有选择恐惧症,还是资深患者。那么你可以使用 Docker 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
③节省开支:一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

缺点
①学习曲线陡峭:Docker有一定的技术门槛,需要掌握一定的新概念和技术。对于初学者来说,可能需要一些时间来熟悉Docker的使用。
②安全性问题:虽然Docker提供了多种安全机制来保护容器,但由于容器之间共享主机操作系统内核,因此仍然存在一些安全风险。例如,如果一个容器被攻击并成功突破了隔离层,它可能会影响到其他容器。
③网络和存储功能有限:Docker在网络和存储方面的功能相对有限,可能无法满足一些复杂需求。例如,Docker的默认网络模式可能无法满足一些高级网络拓扑需求。
④部分应用可能不兼容:尽管Docker支持大多数应用程序,但仍有部分应用程序可能无法或难以在Docker容器中运行。这可能需要额外的适配或修改工作。
⑤大规模部署时的复杂性:当需要在大规模环境中部署大量容器时,Docker的监控、管理和故障排除可能会变得复杂。这可能需要额外的工具和技术支持。

二、安装及配置

2.1 安装过程

#查看内核
uname -r
 
#更新yum源为最新
yum update -y
 
#安装Docker所需要的工具包
yum install -y yum-utils device-mapper-persistent-data lvm2
 
#设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
#正式下载安装Docker
yum install docker-ce docker-ce-cli containerd.io -y -y
 
#启动Docker并且设置开机自启动
systemctl start docker
systemctl enable docker
 
#检测Docker是否安装成功
docker version

2.2 安装效果演示

1、查看内核
在这里插入图片描述
2、更新yum源为最新(这个更新很久,10分钟都有可能)
在这里插入图片描述
完毕
在这里插入图片描述

3、安装Docker所需要的工具包
在这里插入图片描述
4、设置yum源(设置yum源,否则走的是国外的(下载速度慢) 不能国内的(速度快),)
在这里插入图片描述
在这里插入图片描述
5、下载安装Docker
在这里插入图片描述
完毕
在这里插入图片描述
6、启动Docker并且设置开机自启动
在这里插入图片描述
7、检测Docker是否安装成功-----成功
在这里插入图片描述

2.3 配置镜像仓库

进入阿里云镜像官方网址:

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

有的话更好,没有的话,注册一个,
第一步:注册,完成后返回就·好了阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台(此画面就是注册完之后的效果图)
在这里插入图片描述
第二步:进入阿里云镜像加速器:

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
在这里插入图片描述

在虚拟机中来到此文件
在这里插入图片描述
在文件中添加配置
【注意:每个人的配置文件不一样,下面图片的配置文件是本小编的】
在这里插入图片描述
在这里插入图片描述
然后再运行一下下面两行命令,这两行命令在镜像操作文档中也有
在这里插入图片描述
第三步:测试
如果下载到5~3分钟代表成功了,我花了一分钟

#从官网查
docker search mysql
 
#下载mysql
docker pull mysql
 
#可以查看有多大
docker images

在这里插入图片描述
在这里插入图片描述
删除镜像命令:docker rmi 文件名在这里插入图片描述
到此,Docker安装就OK了

三、基本命令

3.1 Docker基本命令

命令命令
启动Dockersystemctl start docker
停止Dockersystemctl stop docker
重启Dockersystemctl restart docker
开机启动Dockersystemctl enable docker
查看Docker概要信息docker info
查看Docker帮助文档docker --help
查看Docker版本信息docker version

3.2 Docker镜像常用命令

  1. 列出本机所有镜像( 查看服务器(虚拟机)下载那些镜像 )

docker images
在这里插入图片描述

仓库查看镜像

docker search 这里输入搜索的镜像
在这里插入图片描述

3.3 docker pull 下载镜像(这个是,在服务器内装一个服务器)

docker pull 镜像名称:[TAG]
在这里插入图片描述

注意:不加TAG,默认下载最新版latest

检查镜像文件是否下好

docker images
在这里插入图片描述

3.4 docker rmi 删除镜像(可以通过名字或者ID删除)

3.4.1 单个删除

docker rmi (-f 强制删除) 镜像名称:[TAG]

有镜像生成的容器再运行时候,会报错,删除失败
在这里插入图片描述

我们需要加 -f 强制删除

在这里插入图片描述

3.4.2. 删除多个:docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]

中间空格隔开

3.4.3. 删除全部:docker rmi -f $(docker images -qa)

3.5 容器命令

  • 创建容器
    新增容器并进入容器:docker run -it --name mycentos01 镜像ID
    新增容器不进人容器:docker run -di --name mycentos02 镜像ID
  • 退出容器
    exit :容器退出停止
    Ctrl+P+Q :容器不停止退出
  • 查看容器
    docker ps :查看运行中的容器
    docker ps -a:查看所有的容器
  • 进入容器 docker exec -it 容器名称 或者 容器ID /bin/bash
  • 停止容器 docker stop 容器名称 或者 容器ID
  • 启动容器 docker start 容器名称 或者 容器ID
  • 重启容器 docker restart 容器名称 或者 容器ID
  • 删除容器 docker rm 容器ID
  • Docker容器日志
    docker logs 容器ID
    cd /var/lib/docker/containers/
  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值