Ubuntu正确安装Docker和Docker Compose具体讲解

火影  金牌会员 | 2024-12-27 09:07:36 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 799|帖子 799|积分 2397

1、环境准备

        Ubuntu系统版本:24.04
        实行下令脚本用户为:root
1.1 更新系统

        在开始之前,请确保您的系统是最新的,可以利用以下下令来更新系统:
  1. root@keyan:~# sudo apt update
  2. root@keyan:~# sudo apt upgrade -y
复制代码
1.2 安装必要的软件包

        在安装 Docker 之前,我们必要安装一些必要的依赖包。运行以下下令:
  1. root@keyan:~# sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
复制代码
1.3添加阿里云GPT密钥管理- 保举
        


  1. root@keyan:~# sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
复制代码
1.4 进入到/etc/apt/sources.list.d目录

  1. root@keyan:~# cd /etc/apt/sources.list.d
复制代码
        # 在/etc/apt/sources.list.d目录下的docker.list文件中添加阿里云的镜像下载源
  1. root@keyan:~# sudo echo "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" > docker.list
复制代码
1.5 再次更新系统

  1. root@keyan:~# sudo apt update
复制代码
2、安装docker

        Docker 是一个开源的平台,用于开发、交付和运行应用程序。Docker 利用容器技能,将应用程序及其依赖打包在一起,实现了应用的跨平台、跨环境的一致性运行。
  2.1、Docker 的主要特点

        轻量级:Docker 容器共享操纵系统内核,不像假造机那样必要运行一个完整的操纵系统实例,启动速度快,占用资源少。
        一致性:开发、测试和生产环境可以保持一致,制止“在我机器上能运行”的问题。
        隔离性:每个容器都是独立运行的,保证了应用之间的隔离性。
        便携性:Docker 容器可以运行在任何支持 Docker 的平台上(如 Linux、Windows、macOS),从而实现了跨平台摆设。
2.2、Docker 的核心概念

        镜像(Image):Docker 镜像是一个只读模板,此中包含了运行应用程序所需的所有内容。镜像可以用来创建 Docker 容器。
        容器(Container):容器是镜像的一个实例,它运行在一个独立的环境中,可以启动、制止或删除。
        Docker Hub:一个公共的 Docker 镜像存储库,用户可以在上面共享和下载镜像。
        Dockerfile:用于定义怎样构建 Docker 镜像的脚本文件。
2.3、Docker的优点

        轻量级和高效:
        Docker 容器共享主机操纵系统的内核,不像假造机那样必要运行一个完整的操纵系统实例。这使得 Docker 容器更加轻量、启动速度更快、资源占用更少。
        一致性和可移植性:
        Docker 可以确保在差别环境(如开发、测试和生产环境)下的应用程序行为一致。容器化的应用可以在任何支持 Docker 的平台上运行,实现了“构建一次,到处运行”。
        隔离性和安全性:
        每个容器运行在独立的隔离环境中,确保了应用之间不会互相干扰。通过 Docker 的隔离机制,还可以进步安全性,限定容器访问主机的权限。
        高效的开发和摆设流程:
        Docker 使开发、测试、发布的流程更加流通,开发者可以在本地轻松构建和测试容器,运维人员可以直接摆设这些容器到生产环境,极大地进步了开发和运维的服从。
        强盛的生态系统:
        Docker Hub 提供了丰富的公共镜像,几乎所有主流的开发框架和工具都可以通过 Docker 直接利用。还有大量的第三方工具支持 Docker,如 Kubernetes。
2.4、docker安装

        实行安装docker下令脚本:
  1. root@keyan:~# sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
复制代码
         检察Docker安装版本,如下面所示,正常出现了docker的版本号,则表示docker安装乐成,可以开始docker之旅了。
  1. root@keyan:~# docker --version
  2. Docker version 27.3.1, build ce12230
复制代码
3、安装docker-compose  可选

         Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个简朴的 YAML 文件(通常命名为 docker-compose.yml),你可以定义应用程序的服务、网络和卷等配置。
3.1、Docker Compose 的主要特点

        定义多服务应用:通过一个 docker-compose.yml 文件,可以形貌一个多服务应用的整体架构,如 Web 服务、数据库服务等。
        一键启动/制止:利用简朴的下令(如 docker-compose up 和 docker-compose down),可以轻松地启动或制止整个应用程序的所有服务。
        简化管理:Compose 提供了简朴的服务管理功能,如重启服务、检察日志等,使得管理复杂的 Docker 应用更加容易。
        环境配置:支持通过 .env 文件加载环境变量,以方便配置。
3.2、Docker Compose 的核心概念

        服务(Service):指在 Compose 文件中定义的一个容器,通常代表一个应用的一个组件,比如一个 Web 服务或一个数据库服务。
        网络(Network):定义了服务之间的网络毗连方式,Compose 会自动创建默认的网络环境,服务之间可以通过服务名互相访问。
        (Volume):用于持久化数据,数据可以在容器之间共享,也可以在容器重启或销毁后保留。
3.3、Docker Compose 的优点

        简化多容器应用管理:
        Docker Compose 通过一个简朴的 YAML 文件定义多容器应用,使得管理复杂的多服务架构变得非常容易。可以用一个下令 (docker-compose up) 启动整个应用,简化了运维过程。
        环境独立性:
        Compose 文件中可以指定环境变量和配置文件,方便在差别环境(如开发、测试、生产)中利用差别的配置,而无需修改应用代码。
        自动化和可重复性:
        利用 Docker Compose 可以定义一组服务的依赖关系、网络配置和持久化存储,确保每次启动时环境的一致性,这对自动化测试和持续集成/持续摆设(CI/CD)特别有效。
        简化网络配置:
        Compose 自动为服务创建网络,并允许服务通过名称互相通信,这简化了网络配置和管理。
        支持扩展和缩减:
        Docker Compose 支持横向扩展服务(如 docker-compose up --scale),可以很容易地调解服务实例的数目,以应对流量颠簸。
3.4 docker compose 安装        

  1. root@keyan:~# sudo apt-get install docker-compose -y
复制代码
         检察Docker Compoase安装版本,如下面所示,正常出现了Docker Compoase的版本号,则表示Docker Compoase安装乐成,可以开始Docker Compoase之旅了。
  1. root@keyan:~# docker-compose --version
  2. docker-compose version 1.29.2, build unknown
复制代码
        
       
        

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

火影

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表