docker学习笔记

本文详细介绍了如何在Linux上安装DockerCE,设置Docker仓库,使用yum安装,验证及配置,以及docker-compose的安装与使用。此外,还涵盖了docker镜像、容器、卷和网络的管理和清理操作,包括dockersystemprune的高级清理功能。
摘要由CSDN通过智能技术生成

docker安装

卸载旧版本docker

在linux上,通过yum install docker也可以安装,但直接安装出来的docker版本太低,会有很多问题,这个时候就会需要用到卸载,指令如下

sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

安装docker CE(社区版)

设置 Docker 仓库

在新安装 Docker 之前,首先需要设置 Docker 仓库。执行以下命令来安装所需的包,并添加 Docker 仓库:

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum安装Docker CE

安装 Docker 及其依赖

yum install docker-ce docker-ce-cli containerd.io

启动 Docker

sudo systemctl start docker

验证安装

sudo docker run hello-world

如果安装成功,您将看到一条消息,说明 Docker 正在正常工作。

配置 Docker 在启动时运行

systemctl enable docker

docker-compose安装

下载docker-compose文件

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
  • $(uname -s) 返回您的操作系统名称,例如 Linux 或 Darwin(在 macOS 上)。
  • $(uname -m) 返回您的硬件架构,例如 x86_64、arm64 等。
  • 指令实际为:curl -L “https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64” -o /usr/bin/docker-compose
  • -o /usr/bin/docker-compose 用于指定下载文件的输出位置和文件名
  • /usr/bin/docker-compose是个文件而不是文件夹
  • 有些是/usr/bin/docker-compose,有些是/usr/local/bin/docker-compose

添加执行权限

chmod +x /usr/bin/docker-compose

验证安装

docker-compose --version

docker镜像指令

列出所有镜像

docker images

检查特定镜像的详细信息

docker inspect <image_name_or_id>

查找镜像存储位置

虽然 Docker 不鼓励直接访问文件系统来管理镜像文件,但如果您需要知道这些文件在哪里,它们通常存储在 /var/lib/docker 目录下,具体取决于您使用的存储驱动。例如,在使用默认的 Overlay2 存储驱动时,镜像和容器的层被存储在 /var/lib/docker/overlay2 中。
请注意,直接操作 /var/lib/docker 目录下的文件是不推荐的,因为这可能会破坏 Docker 的状态和数据一致性。始终使用 Docker 提供的命令行工具来管理您的镜像和容器。

删除特定镜像

docker rmi <image_id_or_repository:tag>

如果镜像被一个或多个容器使用,这个命令会失败,除非您添加 -f--force 选项来强制删除。

删除悬空(dangling)镜像

悬空镜像是那些没有标签且不再被任何容器引用的镜像。要删除这些镜像,可以使用以下命令:

docker image prune

这个命令会提示您确认。要自动确认并删除悬空镜像,可以使用 -f--force 选项。

删除所有未使用的镜像

要删除所有未被容器使用的镜像(不仅仅是悬空镜像),可以使用:

docker image prune -a

这将删除所有没有至少一个容器指向的镜像。同样,使用 -f--force 选项可以自动确认。

  • 请确保在删除镜像之前您不再需要它们,因为删除后将无法恢复。如果您试图删除正在被容器使用的镜像,Docker 会阻止这一操作,除非您使用了 -f 选项。强制删除正在使用的镜像可能会导致数据丢失或容器运行异常。

docker清理指令

删除未使用的容器

对于所有已停止的容器,您可以使用以下命令来删除它们,这将删除所有未运行的容器:

docker container prune

删除悬挂(dangling)镜像

悬挂镜像是那些没有标签的镜像,通常在构建新镜像时产生。要删除这些镜像,您可以使用:

docker image prune

删除未使用的镜像

要删除所有未被容器引用的镜像,您可以使用:

docker image prune -a

删除未使用的卷

Docker 卷用于持久化容器数据。要删除未使用的卷,使用:

docker volume prune

删除未使用的网络

某些自定义网络可能不再被任何容器使用。要删除这些网络,使用:

docker network prune

使用 Docker 系统清理

Docker 提供了一个命令来一次性清理未使用的容器、网络、镜像(包括悬挂镜像),以及所有未挂载的卷:

docker system prune

要包括未使用的镜像在内,可以添加 -a 选项:

docker system prune -a

这是一个非常强大的命令,它可以帮助您迅速释放大量空间,但请谨慎使用,因为它可能会删除您未来可能需要的镜像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值