部署docker(乌班图部署docker)
# 简介随着云计算和微服务架构的快速发展,容器化技术已成为现代软件开发和运维的重要组成部分。Docker 是目前最流行的容器化平台之一,它通过将应用程序及其依赖项打包到一个轻量级、可移植的容器中,实现了“一次构建、到处运行”的目标。本文将详细介绍 Docker 的安装、配置以及基本使用方法,帮助开发者快速上手并掌握 Docker 的核心功能。---## 一、Docker 的基础概念### 1.1 容器与虚拟机的区别 容器技术的核心在于共享主机的操作系统内核,而虚拟机则是通过模拟硬件来实现隔离。因此,容器具有更高的资源利用率和启动速度。Docker 容器基于 Linux 内核的特性(如 cgroups 和 namespaces),能够在同一主机上运行多个独立的应用程序实例。### 1.2 Docker 的主要组件 -
镜像(Image)
:容器的基础模板,包含操作系统、应用程序及其依赖。 -
容器(Container)
:运行中的镜像实例。 -
仓库(Repository)
:存储和分发镜像的地方,例如 Docker Hub。---## 二、Docker 的安装### 2.1 在 Linux 上安装 Docker
以下是在 Ubuntu 系统上的安装步骤:
```bash
# 更新包管理器
sudo apt update# 安装必要的依赖
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 添加 Docker APT 源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 更新包列表
sudo apt update# 安装 Docker CE(社区版)
sudo apt install -y docker-ce docker-ce-cli containerd.io# 验证安装是否成功
docker --version
```### 2.2 在 Windows 和 macOS 上安装 Docker Desktop
对于桌面用户,推荐使用 Docker Desktop:
1. 访问 [Docker 官网](https://www.docker.com/products/docker-desktop) 下载安装包。
2. 按照提示完成安装,并确保启用 WSL2(Windows Subsystem for Linux 2)作为后端支持。---## 三、Docker 的基本操作### 3.1 拉取镜像
Docker 提供了丰富的官方镜像库,可以通过 `docker pull` 命令拉取镜像:
```bash
docker pull nginx:latest
```### 3.2 启动容器
使用 `docker run` 命令可以启动一个新的容器:
```bash
docker run -d -p 8080:80 nginx:latest
```
参数说明:
- `-d`:后台运行。
- `-p 8080:80`:将宿主机的 8080 端口映射到容器的 80 端口。### 3.3 查看容器状态
```bash
docker ps
```
如果需要查看所有容器(包括已停止的),可以添加 `-a` 参数:
```bash
docker ps -a
```### 3.4 停止和删除容器
停止容器:
```bash
docker stop
简介随着云计算和微服务架构的快速发展,容器化技术已成为现代软件开发和运维的重要组成部分。Docker 是目前最流行的容器化平台之一,它通过将应用程序及其依赖项打包到一个轻量级、可移植的容器中,实现了“一次构建、到处运行”的目标。本文将详细介绍 Docker 的安装、配置以及基本使用方法,帮助开发者快速上手并掌握 Docker 的核心功能。---
一、Docker 的基础概念
1.1 容器与虚拟机的区别 容器技术的核心在于共享主机的操作系统内核,而虚拟机则是通过模拟硬件来实现隔离。因此,容器具有更高的资源利用率和启动速度。Docker 容器基于 Linux 内核的特性(如 cgroups 和 namespaces),能够在同一主机上运行多个独立的应用程序实例。
1.2 Docker 的主要组件 - **镜像(Image)**:容器的基础模板,包含操作系统、应用程序及其依赖。 - **容器(Container)**:运行中的镜像实例。 - **仓库(Repository)**:存储和分发镜像的地方,例如 Docker Hub。---
二、Docker 的安装
2.1 在 Linux 上安装 Docker 以下是在 Ubuntu 系统上的安装步骤: ```bash
更新包管理器 sudo apt update
安装必要的依赖 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
添加 Docker 官方 GPG 密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加 Docker APT 源 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新包列表 sudo apt update
安装 Docker CE(社区版) sudo apt install -y docker-ce docker-ce-cli containerd.io
验证安装是否成功 docker --version ```
2.2 在 Windows 和 macOS 上安装 Docker Desktop 对于桌面用户,推荐使用 Docker Desktop: 1. 访问 [Docker 官网](https://www.docker.com/products/docker-desktop) 下载安装包。 2. 按照提示完成安装,并确保启用 WSL2(Windows Subsystem for Linux 2)作为后端支持。---
三、Docker 的基本操作
3.1 拉取镜像 Docker 提供了丰富的官方镜像库,可以通过 `docker pull` 命令拉取镜像: ```bash docker pull nginx:latest ```
3.2 启动容器 使用 `docker run` 命令可以启动一个新的容器: ```bash docker run -d -p 8080:80 nginx:latest ``` 参数说明: - `-d`:后台运行。 - `-p 8080:80`:将宿主机的 8080 端口映射到容器的 80 端口。
3.3 查看容器状态 ```bash docker ps ``` 如果需要查看所有容器(包括已停止的),可以添加 `-a` 参数: ```bash docker ps -a ```
3.4 停止和删除容器
停止容器:
```bash
docker stop
四、Dockerfile 的编写与构建
4.1 编写 Dockerfile Dockerfile 是定义镜像构建规则的文件。以下是一个简单的示例: ```dockerfile
使用官方 Python 基础镜像 FROM python:3.9-slim
设置工作目录 WORKDIR /app
复制项目文件到容器中 COPY . .
安装依赖 RUN pip install -r requirements.txt
暴露端口 EXPOSE 5000
启动应用 CMD ["python", "app.py"] ```
4.2 构建镜像 在包含 Dockerfile 的目录下执行以下命令: ```bash docker build -t my-python-app . ```---
五、Docker 的网络与数据卷
5.1 网络管理 Docker 默认创建了一个桥接网络,可以通过以下命令查看和自定义网络: ```bash
查看现有网络 docker network ls
创建新的自定义网络 docker network create my-network
将容器连接到指定网络
docker network connect my-network
5.2 数据卷管理 数据卷用于持久化容器的数据。可以通过以下方式创建和挂载卷: ```bash
创建一个数据卷 docker volume create my-volume
运行容器时挂载卷 docker run -v my-volume:/data nginx:latest ```---
六、总结Docker 是一种强大的工具,能够显著提升开发和部署效率。通过本文的学习,读者应该已经掌握了 Docker 的基本安装、镜像管理、容器操作以及高级功能(如 Dockerfile 和数据卷)。希望这些知识能帮助你在实际工作中更好地利用 Docker 技术。如果需要更深入的学习,可以参考 Docker 官方文档或相关社区资源。