Ubuntu正确安装Docker和Docker Compose的步骤详细讲解

 更新时间:2025年11月24日 11:08:11   作者:唐可盐  
Docker Compose是一个用于定义和运行多容器Docker应用的工具,这篇文章主要介绍了Ubuntu正确安装Docker和Docker Compose的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

1、环境准备

Ubuntu系统版本:24.04

执行命令脚本用户为:root

1.1 更新系统

 在开始之前,请确保您的系统是最新的,可以使用以下命令来更新系统:

root@keyan:~# sudo apt update
root@keyan:~# sudo apt upgrade -y

1.2 安装必要的软件包

在安装 Docker 之前,我们需要安装一些必要的依赖包。运行以下命令:

root@keyan:~# sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

1.3添加阿里云GPT密钥管理- 推荐

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目录

root@keyan:~# cd /etc/apt/sources.list.d

# 在/etc/apt/sources.list.d目录下的docker.list文件中添加阿里云的镜像下载源

root@keyan:~# sudo echo "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" > docker.list

1.5 再次更新系统

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命令脚本:

root@keyan:~# sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

查看Docker安装版本,如下面所示,正常出现了docker的版本号,则表示docker安装成功,可以开始docker之旅了。

root@keyan:~# docker --version
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 安装

root@keyan:~# sudo apt-get install docker-compose -y

查看Docker Compoase安装版本,如下面所示,正常出现了Docker Compoase的版本号,则表示Docker Compoase安装成功,可以开始Docker Compoase之旅了。

root@keyan:~# docker-compose --version
docker-compose version 1.29.2, build unknown

总结

到此这篇关于Ubuntu正确安装Docker和Docker Compose的文章就介绍到这了,更多相关Ubuntu安装Docker和Docker Compose内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker Get https://registry-1.docker.io/v2/: net/http: request canceled 报错

    docker Get https://registry-1.docker.io/v2/: net/http: r

    本文主要介绍了docker Get https://registry-1.docker.io/v2/: net/http: request canceled 报错,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • 解决Docker安装错误failure:repodata/repomd.xml from docker-ce-stable

    解决Docker安装错误failure:repodata/repomd.xml from docke

    在使用yum命令安装docker或其他工具时可能会遇到failure_repodata_repomd.xmlfromdocker-ce-stable_[Errno256]Nomoremirrorstotry的错误,原因可能是yum源配置问题,解决方法包括重置yum源,删除多余的repo文件
    2024-11-11
  • 使用elasticsearch定时删除索引数据

    使用elasticsearch定时删除索引数据

    这篇文章主要介绍了使用elasticsearch定时删除索引数据的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker部署MongoDB数据库的实现步骤

    docker部署MongoDB数据库的实现步骤

    Docker可以提供一个轻量级、可移植的容器化环境,使得MongoDB的部署变得更加简单和灵活,本文主要介绍了docker部署MongoDB数据库的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • 解决Docker Desktop运行一直转问题

    解决Docker Desktop运行一直转问题

    遇到Docker启动报错、Docker Desktop运行不正常等问题,常见解决方案包括以管理员身份运行CMD,重启Docker服务,恢复Docker Desktop出厂设置,启用Windows功能等,最终通过运行cmd命令"netsh winsock reset"解决问题,但需注意此操作可能导致Docker镜像丢失
    2024-09-09
  • Docker容器实战之镜像与容器的工作原理

    Docker容器实战之镜像与容器的工作原理

    这篇文章主要介绍了Docker容器实战之镜像与容器,关于镜像与容器的工作原理,下面文章将详细介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • pod污点taint 与容忍度tolerations详解

    pod污点taint 与容忍度tolerations详解

    这篇文章主要为大家介绍了pod污点taint与容忍度tolerations示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 删除docker images中为none的镜像操作

    删除docker images中为none的镜像操作

    这篇文章主要介绍了删除docker images中为none的镜像操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker使用Prune命令清理none镜像

    Docker使用Prune命令清理none镜像

    本文主要介绍了Docker使用Prune命令清理none镜像,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 详解基于Harbor搭建Docker私有镜像仓库

    详解基于Harbor搭建Docker私有镜像仓库

    这篇文章主要介绍了详解基于Harbor搭建Docker私有镜像仓库,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12

最新评论