首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数据科学(冷冻工厂)

    Docker|了解容器镜像层(2)

    引言 容器非常神奇。它们允许简单的进程表现得像虚拟机。在这种优雅的底层是一组模式和实践,最终使一切运作起来。在设计的根本是层。层是存储和分发容器化文件系统内容的基本方式。 最终的提交快照是作为容器文件系统挂载的那一个。 使用我们之前的例子: 初始层,FROM scratch,意味着我们可以从下一层和一个空目录开始。没有父层。 创建了一个 layer2 的目录。 文件 layer2.tar.gz 被下载、验证(通过比较摘要和文件名),并解压到目录中。结果是包含 /work/message.txt 的目录。这是第一个提交快照。 创建了一个 layer3 的目录,并将 layer2 的内容复制进去。这是一个新的活动快照。文件 layer3.tar.gz 被下载、验证并解压。 这是现代容器的本质——容器是使用操作系统的原生特性组合而成的。

    23310编辑于 2024-06-18
  • 来自专栏Ywrby

    2-Docker容器数据卷

    Docker容器数据卷 数据卷概述 实际开发中,数据的持久化以及数据交互都是十分重要的功能,所以Docker需要处理以下问题 Docker容器删除后,容器中的应用数据是否被删除 Docker容器与外部机器 (宿主机与网络机器)间如何进行文件交互 Docker容器之间如何进行文件的交换 面对以上问题,Docker提供了数据卷的概念,数据卷是宿主机中的一个目录或文件,当容器与数据卷目录绑定(挂载)后,双方对数据卷的修改会立即同步 ,数据卷与容器不是一一对应的关系,一个数据卷可以挂载多个容器,一个容器也可以被挂载多个数据卷 数据卷的作用 保证容器数据的持久化 实现容器与宿主机之间的文件交换 实现Docker容器之间的文件交换 配置数据卷 ,这个容器被称为数据卷容器 # 创建容器,挂载到一个数据卷上(这里只给了数据卷的路径,则容器路径会自动分配) docker run -it --name c1 -v /volume centos:latest # 其他容器创建时挂载到该容器上,通过--volumes-from指定数据卷容器 docker run -it --name c2 --volumes-from c1 centos:latest docker

    52820编辑于 2022-10-27
  • 来自专栏MeowRain的博客

    Docker初步使用-2容器基本使用)

    pull ubuntu 启动容器 以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器: $ docker run -it ubuntu /bin/bash 参数说明: -i: ,如果想要关闭它,下面会介绍docker容器的停止以及启动,重启 停止一个容器 $ docker stop <容器 ID> 重启一个容器 $ docker restart <容器 ID> 启动已停止运行的容器 查看所有的容器命令如下: $ docker ps -a 可以看到这个容器是关闭的 Exited (0) 2 seconds ago 使用 docker start 启动一个已停止的容器: $ docker 两种进入容器方法的区别 使用 docker exec ,输入exit不会关闭容器 使用 docker attach。 输入exit会关闭容器 接下来我们从下面这两张图中来查看区别: 删除容器 删除容器使用 docker rm 命令: 这里的例子使用网图,我这里还会用就不卸载了 $ docker rm -f 1e560fca3906

    51330发布于 2021-05-06
  • 来自专栏散尽浮华

    Docker容器学习梳理--基础知识(2

    从测试环境中,你可以将Docker镜像推送到服务器上进行部署。 2)开发和拓展更加简单 Docker的以容器为基础的平台允许高度可移植的工作。 2)可以从Docker镜像创建Docker容器来运行应用程序。 3)可以通过Docker Hub或者自己的Docker仓库分享Docker镜像。 Docker镜像是如何工作的? 如果镜像已经存在,Docker会使用它来创建新的容器2)创建新的容器: 当Docker有了这个镜像之后,Docker会用它来创建一个新的容器2docker create 可以通过docker run <image name>命令创建一个容器并运行其中的程序,因为有很多用户要求创建容器的时候不启动容器,所以docker create应运而生了 如果你想复用容器名,则必须在创建新的容器前通过docker rm删除旧的容器或者创建容器时添加--rm选项。 2)链接容器 链接允许容器间安全通信,使用--link选项创建链接。

    2.3K100发布于 2018-01-23
  • 来自专栏twowinter

    Docker入门教程 Part 2 容器操作

    Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。其代码目前在 https://github.com/docker/compose 上开源。 我正在学习Docker容器技术,相关笔记汇总在Docker容器技术 学习笔记汇总 基础介绍 Compose is a tool for defining and running multi-container Compose 定位是 “定义和运行多个 Docker 容器的应用(Defining and runningmulti-container Docker applications)”,其前身是开源项目 Define your app’s environment with a Dockerfile so it can be reproduced anywhere. 2. Compose 项目由 Python 编写,实现上调用了 Docker 服务提供的 API 来对容器进行管理。

    40120发布于 2020-04-17
  • 来自专栏CRPER折腾记

    Docker折腾记: (2)基于docker-compose构建yapi容器

    前言 第一篇: Docker折腾记: (1)构建yapi容器,从构建发布到可用 这篇主要是用docker-compose来编排我们第一篇的内容,顺便谈谈docekr-compose的好处 docker-compose 要记住这个;核心还是依赖docker; 因为你启动后,docker的相关命令还是可以查看,停止乃至删除容器; 编排工具里面的封装的停止这些,可以理解为"队列",就是批量帮你处理你编排文件的容器 docker-compose 的命令行用起来和docker差不多,compose针对的是编排,而docker是单一容器 创建容器实例并启动 docker-compose up: 这个命令会执行docker-compose.yml,根据规则全部执行完毕 yapi crper/yapi latest ae69ea846d69 472 MB yapi-mongo mongo latest 91a642e82a2a .大大提高了维护的效率 所以,熟练的使用compose和能自己封装docker容器,会让我们的开发更好的维护, 不管是线上还是线下,容器对于多环境的处理是很赞的; 比如内部服务器的各种服务,测试环境,开发环境之间的信息隔离

    1.6K30发布于 2018-08-28
  • 来自专栏码农小胖哥的码农生涯

    Spring Boot 2 实战:结合 Docker 容器

    看到这里如果没用过 Docker,赶紧找资料学习去,并不难学。 别忘记关注一下,回来接着下面的干货分享。 那么今天我将如何将 Spring Boot 应用容器化。 2. 启动容器 命令行 执行 docker images 查看一下是否存在 一个 docker-springboot:0.0.1 的镜像,只要结果跟上图一样就一定存在。 然后从镜像启动一个容器,命令行如下 docker run --name docker-app -p 8088:8080 docker-springboot:0.0.1 该命令的意思是 我前台从 docker-springboot:0.0.1 镜像启动一个名字叫 docker-app的容器应用,同时将容器内部端口8080映射到宿主机端口8088 ,这样我们可以通过本地端口8088访问容器端口8080 总结 应用容器化是近年来的热点。而且容器技术层出不穷,掌握应用的容器化技术还是很有必要的。今天我们一步一步从零利用 Docker 构建了一个 Spring Boot 容器 。希望对你有所帮助。

    97120发布于 2019-12-10
  • 来自专栏cuijianzhe

    docker容器命名和资源配额控制(2)

    一、 docker 容器命名和重命名 docker 容器命名和重命名 容器命名语法:docker run -d --name 容器实例名 容器镜像名 要执行的命令容器重命名语法: docker rename 旧容器名 新容器名 1.1 运行一个名字为 docker1 的容器 [root@bogon ~]# docker run -itd --name docker1 docker.io/centos:latest rename docker1 docker2 [root@bogon ~]# docker ps CONTAINER ID IMAGE COMMAND ~]# systemctl start docker [root@bogon ~]# docker ps | grep 111 ec295f4752e2 centos ---- 标题:docker容器命名和资源配额控制(2) 作者:cuijianzhe 地址:https://solo.cjzshilong.cn/articles/2019/03/27/1553650586883

    75030编辑于 2022-06-14
  • 来自专栏全栈程序员必看

    docker启动mysql容器失败_docker容器

    什么是 Docker? Docker 是一种工具,它让容器创建,部署和运行应用程序变得更加容易。 验证 Docker 运行状态 打开 Docker Desktop 应用并授权,稍等 1-2 分钟,状态栏会显示 Docker 图标,点击后可看到: 验证 Docker 状态,终端输入。 启动 MySQL 容器 创建一个 Docker Volume,Volume 是用来储存状态的,这里就是用来存储数据的。 如此一来,就算我们不小心移除了 MySQL 容器,数据依然会保留下来: $ docker volume create tinylearn-vol 复制代码 启动容器: $ docker run --name /_/mysql 首次启动时,由于没有 MySQL 镜像,可能需要花 10 分钟左右下载(具体时间取决于网络环境): 下载完毕后会自动启动容器,我们可以通过以下命令查询容器状态: $ docker ps

    5.6K20编辑于 2022-11-10
  • 来自专栏编程黑洞

    docker容器

    容器写文件时,会先从镜像层拷贝一份文件到容器层,然后再写入,使用的是**写时复制(copy on write)**策略 例子 overlay2 ├── lowerdirA │ ├── a "MergedDir": "/var/lib/docker/overlay2/fa3166e545a2d1811dbeecb6f1fdda96b9f97b3cd629f32a8ea378aa79b1c780 /merged", "UpperDir": "/var/lib/docker/overlay2/fa3166e545a2d1811dbeecb6f1fdda96b9f97b3cd629f32a8ea378aa79b1c780 /diff", "WorkDir": "/var/lib/docker/overlay2/fa3166e545a2d1811dbeecb6f1fdda96b9f97b3cd629f32a8ea378aa79b1c780 Sending build context to Docker daemon 7.68kB Step 1/2 : FROM busybox ---> d38589532d97 Step 2/2 :

    1.8K20编辑于 2023-03-06
  • 来自专栏姚红专栏

    Docker容器

    一:什么是容器 如果容器理解为独立运行的一个或一组应用,以及它们的运行态环境。 而虚拟机则为可理解为跑在上面的应用。 修改为IP 5.后台运行应用程序 #docker run -d -p 4000:80 friendlyhello 6.查看容器 # docker container ls CONTAINER ID " 28 seconds ago 7.停止容器 #docker container stop 1fa4ab2cf395 三:分享镜像 1.登录Docker 登录到本地计算机上公共的Docker #docker tag friendlyhello john/get-started:part2 3. :part2 四:附录: 如果想知道更多容器相关命令可试着运行下列命令 docker build -t friendlyname

    1.2K32发布于 2019-09-11
  • 来自专栏QA一隅

    Docker容器

    The Docker client contacted the Docker daemon. 2. minutes ago Exited (0) 2 minutes ago sad_ride 启动已经存在的容器 首先我们使用命令docker docker@default:~$ docker run -d --name webserver -p 80:80 nginx aab982ead42420ccef44ef071902cfb9b404645960b2be83272eee09bec5d3e8 1.使用 docker rm 删除已经停止的容器 $ docker rm 92d1b548ad88 92d1b548ad88 2.使用 docker rm -f 删除正在运行的容器 $ docker rm -f 5e644f959f0b 5e644f959f0b Tips:可以删除多个容器 docker rm container1 container2 3.删除全部容器 docker rm $(

    1.3K51发布于 2021-08-09
  • 来自专栏happyJared

    Docker 容器

    容器(Container) : 镜像运行时的实体 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体,容器可以被创建 容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于独立的命名空间。上一篇文章提到镜像使用的是分层存储,而容器也是如此。 容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。 因此,任何保存于容器存储层的信息都会随容器删除而丢失。 按照 Docker 最佳实践的要求,容器不应该向其存储层内写入任何数据 ,容器存储层要保持无状态化。 所有的文件写入操作,都应该使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。 数据卷的生存周期独立于容器容器消亡,数据卷不会消亡。因此, 使用数据卷后,容器可以随意删除、重新 run ,而数据却不会丢失。

    83130编辑于 2022-05-13
  • 来自专栏devops探索

    docker 容器

    容器的标准输入保持打开 使用docker run创建容器时,docker在后台运行的标准操作包括: 检查本地是否存在指定的镜像,不存在就从公有仓库下载 利用镜像创建并启动一个容器 分配一个文件系统, world hello world hello world fb7f8612f469 这个是CONTAINER ID 关闭容器 以上面为例: 1 2 [root@xs_test01 docker] + c 时,容器就会停止运行 hello world hello world hello world 或者 [root@xs_test01 docker]# docker exec -it 1cd1fadb2 2 3 4 5 6 7 8 9 10 获取容器ID [root@xs_test01 docker]# docker container ls -a CONTAINER docker]# docker container rm d7c0bf8ea467 #必须删除是处于终止状态的容器 d7c0bf8ea467 清理所有处于终止状态的容器 1 2 3 4

    91260发布于 2020-07-31
  • 来自专栏大龄码农

    Docker 容器

    Docker 容器 操作 Docker 容器 Docker 启动容器 Docker 守护态运行 Docker 终止容器 Docker 进入容器 Docker 导出和导入容器 Docker 删除容器 操作 Docker 容器 容器Docker 又一核心概念。 $ docker run -d ubuntu:17.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" 77b2dc01fe0f3f1265df143181e7b9af5e05279a884f4776ee75350ea9d8017a NAMES 77b2dc01fe0f ubuntu:17.10 /bin/sh -c 'while tr 2 minutes ago Up 1 minute agitated_wright Docker 终止容器 可以使用 docker container stop 来终止一个运行中的容器。 此外,当 Docker 容器中指定的应用终结时,容器也自动终止。

    1.3K20编辑于 2022-05-11
  • 来自专栏sktj

    Docker 容器

    docker ps docker ps -a #显示所有状态容器 docker stop xx 进入容器 docker exec -it xx /bin/bash ? image.png 持续查看日志 docker logs -f xxx 容器分为两种:服务类容器或工具类容器 服务类容器:-d 工具类容器:-it start/stop/restart 服务类容器: 自动重启 docker run -d --restart=always httpd restart=on-failure:3 pause 暂停容器 /unpause docker rm 删除容器 docker rmi 删除镜像 容器状态转换图 ? image.png 资源限制: -m 内存限额 --memory-swap :内存+swap的限额,不指定默认为内存2倍 如果参数是-1,代表没有限额 ?

    95520发布于 2019-10-08
  • 来自专栏喵叔's 专栏

    Docker极简教程》--Docker容器--Docker容器的概念

    一、Docker容器的基本概念 1.1 Docker容器是什么? Docker容器是一种轻量级、可移植的虚拟化技术,用于打包、运输和运行应用程序及其所有依赖项。 1.2 Docker镜像与容器的关系 Docker镜像和容器之间有着密切的关系,它们是Docker技术中两个核心概念,相辅相成,共同构建了Docker容器化的环境。 镜像是应用程序的构建块,它可以作为模板用于创建容器实例。 Docker容器Docker容器Docker镜像的运行实例,它是一个独立的、可执行的进程,具有自己的文件系统、网络和进程空间。 工作原理: 当用户运行一个Docker容器时,Docker引擎会根据指定的镜像创建一个新的容器实例。 Docker Swarm: Docker Swarm是Docker官方提供的容器编排工具,用于管理和调度多个Docker容器,构建和管理容器集群。

    3.1K11编辑于 2024-05-24
  • 来自专栏LINUX阅码场

    Docker容器最初的2小时(Docker从入门到入门)

    Docker的情况下,假设进程1和进程2运行于不同的容器,那么进程1和进程2都觉得自己和对方没有半毛钱关系,都觉得自己拥有自己的根文件系统,自己的网卡等,然后进程1和进程2的PID还可以一样,比如假设 Docker就是这样的名称空间让各自在同样的Linux平台上面各自暗爽,装到你自己的容器里面爽。 Docker的架构 Docker中可能涉及到3个机器或者更多机器,一个运行docker命令的client, 一个包含images并以容器(container)形式运行image的主机,一个docker的 nginx的image下载下来后,拿docker run命令就可以弄容器跑nginx了。 ubuntu14.04这个image的2次实例(得到2容器), Linux下面的ps命令是看进程的,docker下面就是看image的实例容器了。

    92710发布于 2019-08-09
  • 来自专栏超级架构师

    「第一部:容器Docker」(2) 什么是Docker

    Docker是一个开源项目,用于将应用程序作为可移植的、自给自足的容器自动部署,这些容器可以在云端或本地运行。 Docker也是一家推广和发展这项技术的公司,与云、Linux和Windows供应商(包括微软)合作。 ? Docker在混合云的所有层部署容器Docker容器可以在任何地方运行,在客户数据中心、外部服务提供商或云中,在Azure上。Docker映像容器可以在Linux和Windows上本地运行。 这些产品安装必要的虚拟机(Docker主机)来承载容器Docker容器与虚拟机的比较 下图显示了VMs和Docker容器之间的比较。 ? 虚拟机包括应用程序、所需的库或二进制文件以及完整的来宾操作系统。完全虚拟化需要比容器化更多的资源。

    83610发布于 2020-07-20
  • 来自专栏世界第一语言是java

    Docker 容器镜像删除Docker 容器镜像删除

    Docker 容器镜像删除 1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令 : docker rm $(docker ps -a -q) 2.查看当前有些什么images docker images 3.删除images,通过image的id来指定删除谁 docker rmi <image id> 想要删除untagged images,也就是那些id为<None>的image的话可以用 docker rmi ? 3}") 要删除全部image的话 docker rmi $(docker images -q)

    4.9K20发布于 2018-09-19
领券