
docker
文章平均质量分 71
_Rookie._
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Docker 哲学 - docker save | load | export | import 及实践
当我们说 "归档文件包含了容器的所有文件,但不包含容器的元数据和配置",我们是指命令导出的 tar 归档文件包含了容器的文件系统中的所有文件,包括应用程序、库、数据等。但是,这个归档文件不包含关于容器本身的信息,例如环境变量、运行命令、网络设置等。这些信息是 Docker 在运行容器时需要的,它们定义了容器的运行环境和行为。例如,环境变量可以用于配置应用程序,运行命令定义了容器启动时要执行的命令,网络设置定义了容器的网络接口和路由。当你使用。原创 2024-04-22 10:01:32 · 1740 阅读 · 2 评论 -
Docker 哲学 - docker swarm
当你在 Swarm 集群中创建一个服务,并设置该服务运行 10 个副本(replicas)时,Swarm 会在集群的工作节点上启动 10 个容器。如果某个工作节点崩溃,导致运行在该节点上的两个副本停止运行,Swarm 的管理节点会检测到这个状态变化,并采取行动恢复服务的状态。这样,即使有工作节点崩溃,你的服务仍然可以保持在 10 个副本的运行状态,这就是 Swarm 的服务恢复机制。管理节点负责集群的管理任务,包括维护集群的状态,调度服务,处理加入或离开集群的节点等。swarm 下的 nginx 服务。原创 2024-04-04 13:36:40 · 526 阅读 · 0 评论 -
Docker 哲学 - compose.yaml 指令
compose.yaml 的 image commond working_dir 和 dockerfile的 from cmd workdir 区别在哪里 。为什么 dockerfile制定过了。compose还要再写一个。是处于个性化还是 有不同的意义如果 dockerfile 的 from 是 node:16 ,compose.yaml 的 images 是 node:18 那么 直接 docker run 用的 就是默认 16 的node 但是 compose up启动用的就是 18的node原创 2024-03-30 11:54:12 · 504 阅读 · 0 评论 -
虚拟机 centos 安装后与主机 ip保持一致
原因:主机和 虚拟机都在同一个网络下,主机可以打开 192.168.31.1 - 192.168.31.255 的所有ip地址。与本机 192.168.31.xx 在同一个子网下。子网掩码 255.255.255.0。3、这样就可以直接在虚拟机启动项目后,直接在主机浏览器输入 虚拟机ip地址访问。举例:这里直接 用docker 跑一个 nginx 镜像,端口 8088。就去 编辑 该文件。把ONBOOT=no 改为yes 后。1、安装时 网络模式 悬着自动检测 (桥接)安装docker看这篇文章。原创 2024-03-30 01:31:39 · 882 阅读 · 0 评论 -
Docker 哲学 - Dockerfile 指令
1、entrypoint : docker run 的时候 指定参数 会跟在 已有参数的后面。2、 cmd :在 docker run 的时候 指定参数 会替换 cmd 中的参数。2、如果 在 docker run 的时候 指定参数 会替换 cmd 中的参数。1、cmd 作为 entrypoint的默认参数。原创 2024-03-27 08:45:17 · 630 阅读 · 1 评论 -
Docker 哲学 - tmpfs 存储
在 Docker 中,每个容器都有一个可写层,这是容器在其基础镜像之上创建的。当容器运行并生成数据或更改状态时,这些更改都会写入到这个可写层中。这个可写层是容器的一部分,当容器被删除时,这个层中的所有数据也会被删除。是一种临时文件系统,它存储在内存中,不会持久化到磁盘。因此,当容器停止或者被删除时,mount 的生命周期与容器的生命周期是绑定的。mount 中的所有数据都会丢失。背景:只有在 linux 有该种方式。mount 中的数据都会被清除。无论是容器被删除还是容器停止,原创 2024-03-26 15:53:31 · 945 阅读 · 0 评论 -
Docker - 哲学 默认网络和 自定义网络 与 linux 网络类型 和 overlay2
默认网络:不指定 --nerwork不指定 网络 run 一个容器时,会直接使用默认的网络桥接器 (docker0)自定义网络:指定 --nerwork让这两台容器互相通信的前提 - 共享同一个网络关于 ip addr 显示 ens160原创 2024-03-23 10:13:55 · 423 阅读 · 0 评论 -
docker 哲学 - 网络桥接器、容器网络接口 、容器间的通信方式
1、解释 docker0 veth eth2、vethXX 和 ethXX 是肯定一一对应吗 比如 eth1 对应 veth13、如果 A容器使用 默认创建方式 。定义他内部网络为 eth0,容器B使用 --network 连上 已创建的网络 172.89.2.1 。此时假设 B的 ip是 172.89.2.2 ,容器网络接口是 eth0 。那么如果 connect 连上 172.89.2.1 后 容器内的网络又加了 172.89.2.3 。此时A的网络接口保持 eth0 还是新增一个 et原创 2024-03-22 15:04:13 · 539 阅读 · 0 评论 -
Docker 哲学 - ip 的组成规则 与 网关介绍
在 IP 地址中,我们通常将 IP 地址分为两部分:网络部分和主机部分。网络部分用于标识网络,主机部分用于标识该网络中的特定主机。IP 地址的每个部分(也被称为一个八位组或一个字节)可以是从0到255的任何值。一个 IPv4 地址总共是 32 位。这 32 位被分为四个 8 位的部分,每个部分用一个点(.)分隔,这就是我们常说的点分十进制表示法。例如,在 IP 地址中,1921681和0分别是这四个 8 位部分的十进制表示。原创 2024-03-20 15:31:33 · 1491 阅读 · 0 评论 -
Docker 哲学 - 匿名卷 具名卷 和 bind mounts 和 tmpfs
原创 2024-03-18 20:53:58 · 474 阅读 · 0 评论 -
Docker 哲学 - docker-compose.yml 管理多个容器
Docker Compose 会默认为所有服务创建一个默认的网络。如果你想自定义网络,你可以在。原创 2024-03-18 13:51:47 · 640 阅读 · 0 评论 -
Docker 哲学 - 容器操作 -cp
只定义一个数据咋在容器内的path,docker自动生成一个 sha256 的key作为 volume 名字。这个 sha256 跟 commitID 一致都是唯一的所以 ,docker利用这个机制,可以缓存你的本地 layer,每次构建或拉取时会先查到有么有公用的 layer,复用本地已存在的,大大节省时间。docker rm $(docker stop $(docker ps -aq)) 删除所有容器。docker stop $(docker ps -aq) 停止所有运行容器,忽略已经停止的。原创 2024-03-17 22:12:13 · 490 阅读 · 0 评论 -
Docker 哲学 - 容器操作 (二)
命令行启动 参数键值之间可以使 " = " 或者 空格。原创 2024-03-17 13:07:27 · 561 阅读 · 0 评论 -
Docker 哲学 - 容器操作
表示容器 服务在3000端口,但是 主机映射到容器的 3001 端口,意味着 访问个寂寞。-p host:container 映射端口。创建 停止 删除 强制删除(正在运行)-d(detach) 剥离、抽离、排遣 (后台运行)--rm 容器停止的时候自动删除容器。原创 2024-03-15 11:15:22 · 528 阅读 · 0 评论 -
Docker chapter 6 镜像构建优化 - 依赖缓存 与 多阶段构建
是 Dockerfile 的一个解析器指令,它用于声明构建时使用的 Dockerfile 语法版本。如果你不指定这个指令,BuildKit 将使用它内置的 Dockerfile 前端版本。声明一个语法版本可以让你自动使用最新的 Dockerfile 版本,而无需升级 BuildKit 或 Docker Engine,甚至可以使用自定义的 Dockerfile 实现。大多数用户会将这个解析器指令设置为,这会让 BuildKit 在构建前拉取 Dockerfile 语法的最新稳定版本。原创 2024-02-20 17:52:03 · 1539 阅读 · 1 评论 -
Docker chapter 5 compose
services:app:ports:volumes:- ./:/appexplainvolumes:- ./:/app在 Docker 的卷挂载语法中,./和都表示当前目录,也就是你运行docker命令的目录。在你的例子中,无论是./还是,都会被解析为。使用./的原因主要是为了明确表示这是一个目录路径,而不是一个文件名。在某些情况下,这可以帮助避免混淆。例如,如果你有一个名为.env的文件,那么将会将这个文件挂载到容器的/app目录。原创 2024-02-19 15:12:12 · 948 阅读 · 0 评论 -
Docker chapter 4 Network
在 Docker 中,网络是容器之间通信的方式。每个 Docker 容器都会连接到一个或多个网络,这些网络可以是 Docker 默认创建的,也可以是用户自定义的。:当你使用docker run命令启动一个容器时,你可以使用--network选项来指定容器应该连接到哪个网络。例如,会启动一个新的容器,这个容器连接到my_network网络,并运行my_image镜像。:如果一个容器已经在运行,你可以使用命令来将它连接到一个网络。例如,会将容器连接到my_network网络。原创 2024-02-08 13:11:51 · 1486 阅读 · 0 评论 -
Docker chapter 3 colume mount VS bind mount
Docker volume 中的数据是存储在 Docker 宿主机上的,它们是与 Docker 容器分开管理的。当你推送一个 Docker 镜像时,你只是推送了用于创建 Docker 容器的镜像,而不是容器的运行状态或者数据。命令只会将 Docker 镜像推送到远程的 Docker Registry,而不会推送 Docker 容器的数据,包括挂载的 volume。是在 Docker 容器中运行的命令,这个命令启动了一个 bash shell,你可以在这个 shell 中输入命令并看到输出。原创 2024-02-07 17:02:45 · 1562 阅读 · 0 评论 -
Docker chapter 2
所以,当你想要分享一个 Docker 镜像时,你需要将它推送(push)到一个 Docker Registry,而不是一个 Docker Repository。当他们拉取镜像时,他们需要指定 Docker Registry、Docker Repository 和镜像的标签,例如。Docker Hub 和 Google Container Registry 就是 Docker Registry 的例子。Docker Repository 则是存储在 Docker Registry 中的镜像的集合。原创 2024-02-07 14:25:19 · 1038 阅读 · 0 评论 -
Docker- chapter 1
docker chapter 1原创 2024-02-06 20:18:54 · 1999 阅读 · 0 评论