docker介绍及安装

Docker概述

Docker是一个开源平台,通过将应用程序隔离到轻量级、可移植的容器中,自动化应用程序的部署、扩展和管理。容器是独立的可执行单元,封装了运行应用程序所需的所有必要依赖项、库和配置文件,可以在各种环境中稳定地运行。

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

隔离:docker核心思想!

docker的思想来源于集装箱

docker 十分轻巧!!!

基于Go语言开发的,开源项目!

虚拟机也是属于虚拟化技术,Docker 容器技术,也是一种 虚拟化技术!

  • Vm: linux centos原生镜像 (一个电脑!) 隔离,需要开启多个虚拟机! 几个G 几分钟
  • docker:隔离,境像(最核心的环境 4m + jdk + mysql)十分的小巧, 运行像就可以了! 小巧! 几个M KB秒级启动!

虚拟机技术缺点:
1、资源占用十分多
2、冗余步骤多
3、启动很慢 !
容器化技术
容器化技术不是模拟的一个完整的提作系统

比较Docker 和 虚拟机技术的不同:

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在 宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便
  • 每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响。

官网: https://www.docker.com/

文档地址: https://docs.docker.com/ (超级详细)

仓库地址: https://hub.docker.com/

容器和Docker

Docker是一种简化创建、部署和管理容器的平台。它为开发人员和管理员提供了一组工具和API,用于管理容器化的应用程序。使用Docker,您可以将应用程序代码、库和依赖项构建和打包成一个容器映像,该映像可以在支持Docker的任何环境中分发和一致地运行。

容器的必要性

应用更快速的交付和部署
传统:一堆帮助文档,安装程序
Docker: 打包镜像发布测试,一键运行
更便捷的升级和扩缩容
使用了Docker之后,我们部署应用就和搭积木一样!
项目打包为一个镜像,扩展 服务器A ! 服务器B

更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度一致的。

更高效的计算资源利用

Docker 是 内核级别的虚拟化,可以在一个物理机上可以运行很多的客器实例!服务器的性能可以被压榨到极致.

Docker 的基本组成

img

镜像(image ) :
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像===> run ==> tomcat01 容器(提供服务器)通过这个镜像可以创建多个容器( 最终服务运行或者项目运行就是在容器中的)。
容器(container) :
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的

启动,停止,删除,基本命令!

目前就可以把这个容器理解为就是一个简易的linux系统

仓库(repository) :
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库!
Docker Hub(默认是国外的) 阿里云…都有容器服务器(配置镜像加速 !)

安装Docker

环境准备

  1. Linux基础
  2. CentOS 7或以上版本
  3. 使用Xshell连接远程服务器进行操作

环境查看

#系统内核是3.10以上
用uname -r查看

系统版本

[root@163 ~]# cat /etc/os-release
NAME=“CentOS Linux”
VERSION=“8”
ID=“centos”
ID_LIKE=“rhel fedora”
VERSION_ID=“8”
PLATFORM_ID=“platform:el8”
PRETTY_NAME=“CentOS Linux 8”
ANSI_COLOR=“0;31”
CPE_NAME=“cpe:/o:centos:centos:8”
HOME_URL=“https://centos.org/”
BUG_REPORT_URL=“https://bugs.centos.org/”
CENTOS_MANTISBT_PROJECT=“CentOS-8”
CENTOS_MANTISBT_PROJECT_VERSION=“8”

安装

  1. 卸载旧版本

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

  2. 需要的安装包

    yum install -y yum-utils
    
  3. 设置镜像的仓库

    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 //阿里云镜像

    ##更新yum软件包索引 yum makecache fast

  4. 安装docker相关的

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

    ce 社区 ee企业

  5. 启动Docker

    systemctl start docker

  6. 使用docker version查看是否安装成功

    [root@163 ~]# docker version
    Client: Docker Engine - Community
    Version: 24.0.5
    API version: 1.43
    Go version: go1.20.6
    Git commit: ced0996
    Built: Fri Jul 21 20:36:32 2023
    OS/Arch: linux/amd64
    Context: default

    Server: Docker Engine - Community
    Engine:
    Version: 24.0.5
    API version: 1.43 (minimum version 1.12)
    Go version: go1.20.6
    Git commit: a61e2b4
    Built: Fri Jul 21 20:35:32 2023
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: 1.6.21
    GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
    runc:
    Version: 1.1.7
    GitCommit: v1.1.7-0-g860f061
    docker-init:
    Version: 0.19.0
    GitCommit: de40ad0

  7. sudo docker run hello-world

  8. 查看一下下载的这个 hello-world镜像

    docker images

了解

docker卸载

  1. 卸载依赖

yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

  1. 删除资源

    sudo rm -rf /var/lib/docker   //docker默认工作路径
    sudo rm -rf /var/lib/containerd
    

阿里云镜像加速

  1. 登录阿里云找到容器镜像服务

请添加图片描述

  1. 找到镜像加速器

  2. 配置使用

  sudo mkdir -p /etc/docker 

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

底层原理

Docker是什么工作的?
Docker 是一个Client-Server 结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问
DockerServer 接收到 Docker-Client 的指令,就会执行这个命令

Docker为什么比VM快
1、Docker有着比虚拟机更少的抽象层
2、docker 利用的是宿主机的内核,vm 需要是 Guest OS。
在这里插入图片描述
所以说,新建一个容器的时候,docker不需要想虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载 Guest OS,分钟级别的,而docker 是利用 宿主机的操作系统吗,省略了这个复杂的过程,秒级!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
安装Docker Compose,可以按照以下步骤进行操作: 1. 首先,确保您已经安装Docker引擎。Docker Compose是Docker的一个独立组件,需要在Docker环境中使用。 2. 下载Docker Compose的安装包。您可以在Docker官方网站上找到适用于您操作系统的安装包,并下载对应版本的安装包。 3. 安装Docker Compose。根据您的操作系统,执行相应的安装命令。例如,在Linux上,您可以使用命令`sudo chmod +x /path/to/docker-compose`来添加可执行权限,然后将`docker-compose`命令链接到`/usr/local/bin`目录下。 4. 测试安装是否成功。在命令行中执行`docker-compose --version`命令,如果成功显示Docker Compose的版本信息,则表示安装成功。 现在,您已经成功安装Docker Compose,并可以使用它来构建和管理基于Docker的应用程序。接下来,您可以通过编写Docker Compose文件来定义和配置您的应用程序的容器,并使用`docker-compose up`命令来启动和管理这些容器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker学习文档,全面介绍Docker技术](https://download.csdn.net/download/Goligory/88280848)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker Compose的安装教程、使用教程示例](https://blog.csdn.net/qq_37279783/article/details/130365030)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值