已编辑 3 几天前 通过 ExtremeHow 编辑团队
Docker容器虚拟化应用程序部署开发与运维微服务编排系统管理安装管理
翻译更新 3 几天前
Docker是一个平台,允许开发人员轻松构建、运行和管理容器中的应用程序,容器是轻量级、独立的执行环境,它们在保持隔离的同时共享操作系统(OS)的使用。Docker变得非常流行,因为它有助于简化工作流程,使部署和扩展更容易。
在本指南中,我们将学习如何在Linux系统上安装和使用Docker。文章将涵盖安装步骤、基本命令以及一些Docker在Linux上的有用示例用例。
在我们深入安装过程之前,让我们先来看一下为什么Docker是一个很棒的工具:
在开始安装Docker之前,您必须具备以下条件:
sudo
特权的用户帐户来安装软件包。第一步是确保您的系统是最新的。使用以下命令更新您的软件包列表并安装可用更新:
sudo apt update
sudo apt upgrade
这将确保所有现有包是最新的,并与Docker安装兼容。
Docker需要一些软件包才能正常工作。运行这些命令以安装这些软件包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
解释:这些软件包帮助Docker通过HTTPS访问存储库,管理证书并添加新存储库。
下一步是将Docker存储库添加到您的APT源。这些存储库包含最新版本的Docker。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
解释:第一个命令添加Docker的官方GPG密钥,确保软件包正确签名且有效。第二个将Docker存储库添加到系统的APT源列表中。
现在,更新软件包列表以包含Docker存储库,并安装Docker:
sudo apt update
sudo apt install docker-ce
解释:这里,docker-ce
代表"社区版Docker",这是一个适用于Linux发行版的免费开源版本。
安装完成后,您必须启动Docker服务并启用其随系统引导时启动:
sudo systemctl start docker
sudo systemctl enable docker
这确保Docker守护程序处于活动状态,并在系统重启时自动启动。
要验证Docker是否正确安装并正在运行,请执行以下命令:
sudo docker --version
您将看到显示系统上已安装的Docker版本的输出。
要使用Docker运行一个Nginx Web服务器:
sudo docker run --name my-nginx -p 8080:80 -d nginx
解释:此命令执行以下任务:
run
:启动一个新容器。--name my-nginx
:为容器分配名称“my-nginx”,以便于识别。-p 8080:80
:将容器中的端口80(默认Nginx端口)映射到主机机器的8080端口。-d
:以后台运行模式启动容器,使其在后台运行。nginx
:告诉Docker使用哪个镜像(如果本地不存在,它将从Docker Hub拉取)。现在,您可以在浏览器中访问http://localhost:8080来查看正在运行的Nginx服务器。
要查看所有当前正在运行的Docker容器,请使用:
sudo docker ps
输出将显示容器ID、名称、状态和其他重要信息。
如果您想停止一个正在运行的容器,请使用:
sudo docker stop my-nginx
用您想停止的容器的名称或ID替换my-nginx
。
要删除已停止的容器,请使用:
sudo docker rm my-nginx
此命令将删除指定的容器。确保容器已关闭再进行删除。
要从Docker Hub(Docker镜像的仓库)下载Docker镜像,请使用:
sudo docker pull ubuntu
解释:此命令从Docker Hub拉取官方的Ubuntu镜像,以便您可以使用它构建容器。
如果您想从系统中删除未使用的Docker镜像,请使用:
sudo docker rmi ubuntu
此命令将删除指定的Docker镜像。
Docker在软件开发和部署中具有多种功能。一些示例场景包括:
开发人员可以使用Docker创建可定制的开发环境,以匹配他们的生产环境。这防止了常见的“它只能在我的机器上工作”的问题,确保所有开发人员和系统的一致性。以下是一个示例:
FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]
在此Dockerfile示例中,您可以创建一个Node.js应用程序容器。它指定要使用的基础镜像(node:14
),设置工作目录,将本地文件复制到容器中,安装所需的软件包,并运行Node.js应用程序。
Docker的应用程序隔离能力非常适合于微服务,其中每个服务都是独立容纳和部署的。使用Docker Compose,您可以通过单个命令配置和运行多个互连的Docker容器。
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: postgres
此docker-compose.yml
文件定义了两个服务:web
(运行Nginx)和db
(运行PostgreSQL)。Nginx服务将容器内的端口80映射到主机上的8080端口。
Docker通常在CI/CD管道中使用,通过按需创建容器来测试软件,从而实现测试和部署过程的自动化。这使开发人员能够体验到更可靠和更快的测试周期。
Docker帮助开发人员和系统管理员通过将整个应用程序及其依赖项保存在一个容器中来顺利部署应用程序。这使得能够在不同位置快速复制相同的环境而无需额外配置。对于快速部署Web应用程序、数据分析管道等非常有用。
本指南提供了在Linux系统上安装和使用Docker的详细信息。作为一种强大而灵活的容器技术,Docker在开发、部署和管理应用程序中具有许多优势。包括的命令和示例为有效使用Docker提供了基础。
Docker仍然是虚拟环境中最具影响力的工具之一,在现代DevOps实践和云计算基础设施中发挥着重要作用。由于其便携、轻量和在软件开发和生产环境的各个阶段上的一致性,Docker的采用正在稳步增长。
如果你发现文章内容有误, 您可以