Docker 与 Docker-Compose 的区别
- Docker:
- Docker 是一个开源容器平台,用于创建、部署和运行应用程序容器。
- 它可以单独运行一个容器,管理容器的生命周期(启动、停止、删除等)。
- 适合管理单个容器或对容器进行简单的操作。
- Docker-Compose:
- Docker-Compose 是 Docker 的一个工具,用于定义和运行多容器应用程序。
- 通过一个
docker-compose.yml文件,能够描述多个容器及其依赖关系(如网络、存储等)。 - 适合运行复杂的多容器应用场景(例如 Web 服务 + 数据库 + 缓存系统)。
简单对比:
- Docker 是基础工具,用来管理单个容器。
- Docker-Compose 是编排工具,用来管理多个容器之间的关系。
在 Ubuntu 上安装 Docker 和 Docker-Compose
1. 安装 Docker
# 更新软件包
sudo apt update && sudo apt upgrade -y
运行以下命令来安装 Docker:
# 安装必要的软件包
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
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 验证安装
docker --version
2. 安装 Docker-Compose
安装 Docker-Compose 的最新版本:
# 下载 Docker-Compose 二进制文件
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 为二进制文件添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
Docker 和 Docker-Compose 的常用命令
Docker 常用命令
# 启动 Docker 服务
sudo systemctl start docker
# 设置 Docker 服务开机自启
sudo systemctl enable docker
# 查看运行中的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 启动容器
docker start <容器ID或名称>
# 停止容器
docker stop <容器ID或名称>
# 删除容器
docker rm <容器ID或名称>
# 拉取镜像
docker pull <镜像名称:标签>
# 运行容器
docker run -d --name <容器名称> <镜像名称:标签>
# 查看容器日志
docker logs <容器ID或名称>
# 进入容器的终端
docker exec -it <容器ID或名称> /bin/bash
Docker-Compose 常用命令
# 启动服务(根据 docker-compose.yml 文件)
docker-compose up -d
# 停止服务
docker-compose down
# 查看运行的容器
docker-compose ps
# 重新启动服务(更新配置后)
docker-compose up -d --build
# 查看服务日志
docker-compose logs
# 停止特定服务
docker-compose stop <服务名称>
# 删除停止的容器
docker-compose rm <服务名称>
删除 Docker 容器及其所有相关数据的几种方法,请根据你的需求谨慎操作,因为这些命令会彻底删除数据,无法恢复!
方法 1:使用 docker system prune 清理所有数据
docker system prune 命令可以删除未使用的容器、网络、镜像和缓存的数据,加上 -a 参数还会删除所有未被容器使用的镜像,加上 --volumes 参数可以删除未被容器使用的卷。
docker system prune -a --volumes
执行后,会提示确认删除,输入 y 即可。
方法 2:手动逐步删除
停止并删除所有容器 先停止所有正在运行的容器,再删除所有容器:
docker stop $(docker ps -aq) docker rm $(docker ps -aq)
删除所有镜像 删除所有镜像(注意:如果有容器依赖镜像,可能需要先删除容器):
docker rmi -f $(docker images -aq)
删除所有数据卷 删除所有数据卷:
docker volume rm $(docker volume ls -q)
删除所有未使用的网络 删除所有未使用的网络:
docker network prune -f
注意事项
- 数据不可恢复:这些操作会删除所有数据,务必确认你不再需要这些数据或已经做好备份。
- 依赖关系:在删除镜像前请确保相关容器已被删除,否则可能无法删除镜像。
- 权限问题:有时需要使用
sudo运行这些命令,具体视你的系统配置而定。
选择一种方法执行后,Docker 容器的所有数据将被彻底清除。
卸载 Docker 和 Docker-Compose
1. 卸载 Docker
完全卸载 Docker 包及其相关的依赖项和数据。
# 停止所有运行的容器
sudo docker stop $(docker ps -aq)
# 删除所有容器
sudo docker rm $(docker ps -aq)
# 删除所有镜像
sudo docker rmi $(docker images -q)
# 删除 Docker 软件包
sudo apt remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 删除 Docker 的依赖和数据
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
# 清理无用的软件包
sudo apt autoremove -y
2. 卸载 Docker-Compose
卸载 Docker-Compose 只需删除其二进制文件:
# 删除 Docker-Compose 二进制文件
sudo rm -f /usr/local/bin/docker-compose
# 验证卸载
docker-compose --version
如果需要清理 Docker-Compose 相关数据,可以删除与其相关的目录(如 docker-compose.yml 文件或容器网络配置)。
检查是否完全卸载
# 检查 Docker 是否存在
docker --version
# 检查 Docker-Compose 是否存在
docker-compose --version
如果输出提示命令不存在,则说明已完全卸载。









