docker学习笔记

docker 学习笔记

什么是 docker

docker 是一个应用容器引擎,属于操作系统级的轻量级虚拟化技术,对容器内部的进程进行了多方面的封装隔离。

为什么使用 docker

相对于传统虚拟化技术,docker有着以下优点:

  • 高效利用系统资源
  • 启动速度快
  • 确保应用的环境一致性
  • 更易于应用的维护和扩展

基本概念

镜像(image)

docker 镜像是一个特殊的文件系统,提供了容器运行时所需的程序、依赖、资源、配置等文件,不包含任何动态数据

docker 镜像利用了 linux 的 Union FS技术,被设计为分层存储结构,一个镜像由多个层(layer)组成。

在镜像构建时,层层构建,每一层完成构建后都不再会发生改变,这样做有许多好处:

  • 提高了镜像的复用性,制作镜像时可以选择其他镜像作为基础镜像,再添加新的层
  • 不同的镜像可能使用了相同的层,镜像存储在本地时,会共用这些层,减少占用空间

容器(container)

容器的实质就是进程以及进程运行时所需的环境。不同容器之间是隔离的,这种隔离体现在文件系统、网络、进程空间等方面。

镜像和容器之间的关系可以理解为:镜像为模板,容器则为模板产生的实例。

使用

镜像

获取镜像

镜像名包括两部分:仓库名:标签。仓库名又分为两部分:用户名/软件名,通常用户名可以省略,此时用户名默认为 library,即官方镜像。

将仓库名为 ubuntu,标签为 latest 的镜像从 Docker Hub 下载到本地。

docker pull ubuntu:latest
查看镜像
docker image list           // 列出所以镜像
docker image list ubuntu    // 列出名为ubuntu的镜像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              775349758637        2 weeks ago         64.2MB

运行

以 ubuntu 镜像创建容器,并在该容器中执行 bash 程序。

docker run -it ubuntu:latest bash
  • -i 启用交互式操作
  • -t 为该容器分配一个伪终端
删除镜像
docker image rm ubuntu:latest       // 通过仓库名和标签删除镜像
docker image rm 775349758637        // 通过镜像 id 删除镜像

容器

启动容器

新建并启动容器。

docker run -it ubuntu:latest bash

启动已关闭容器。

docker container start 2046cda8e403     // 通过容器 id 启动容器
终止容器
docker container stop 2046cda8e403      // 通过容器 id 终止容器
进入容器
docker attach 2046cda8e403              // 通过 attach 进入正在运行的容器,exit 会导致容器的停止
docker exec -it 2046cda8e403 bash       // 通过 exec 进入正在运行的容器,此时 exit 不会导致容器的停止
删除容器
docker container rm 2046cda8e403        // 删除处于终止状态的容器
docker container rm -f 2046cda8e403     // 强制删除处于运行状态的容器,docker 会发送SIGKILL信号给容器
docker container prune                  // 删除所有处于终止状态的容器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈到Docker学习笔记时,我可以为你提供一些基本的指导和主题,以帮助你开始学习Docker。以下是一些可能涵盖的主题: 1. Docker简介:了解Docker的基本概念、优势以及它如何与虚拟化技术不同。 2. Docker安装:学习如何在不同的操作系统上安装Docker,并熟悉Docker引擎的组成部分。 3. Docker镜像:了解Docker镜像的概念,以及如何通过构建、拉取和推送镜像来管理和共享容器环境。 4. Docker容器学习如何创建、启动、停止和删除容器,并了解容器和主机之间的交互方式。 5. Docker网络:探索Docker网络模式,包括桥接网络、主机网络和覆盖网络,并理解容器之间以及容器与主机之间的通信方式。 6. Docker存储:了解Docker存储技术,包括数据卷和绑定挂载,并学习如何在容器中持久化数据。 7. Docker Compose:介绍Docker Compose工具,它可以用于定义和运行多个容器的应用程序。 8. Docker Swarm:探索Docker Swarm,它是Docker官方的容器编排和集群管理工具,于在多个主机上部署和管理容器应用。 9. Docker和持续集成/持续部署(CI/CD):了解如何将Docker与CI/CD工具(如Jenkins、GitLab CI等)集成,以简化应用程序的构建和部署过程。 这只是一些可能的主题,你可以根据自己的需求和兴趣来选择学习内容。希望这些指导可以帮助你开始学习Docker!如果你有任何特定的问题,我很乐意回答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值