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