分类目录归档:云原生

docker buildx-CLI 插件,基于 **BuildKit** 构建引擎


一、什么是 docker buildx

docker buildx 是 Docker 官方的 CLI 插件,基于 BuildKit 构建引擎,扩展了 docker build 的能力,核心是多平台镜像构建、高效缓存、并行构建、自定义构建器,解决传统 docker build 不支持跨架构、缓存弱、功能单一的问题。 - 核心定位:Buildx = BuildKit 的前端 CLI,管理构建器(builder)、执行跨平台构建、输出多种格式(镜像、本地文件、tar)。 - 安装:Docker Desktop 已默认集成;Linux 需安装 docker-buildx-plugin 包。

二、...

Read more

Docker-图形界面


Docker 图形界面分两类:官方桌面端(Docker Desktop)Web 可视化面板(Portainer 最主流),还有终端 GUI(LazyDocker),下面从选型、安装、核心用法讲全。

一、主流工具对比(直接选)

工具 类型 适用场景 核心优势 缺点
Docker Desktop 桌面客户端(官方) 本地开发、Windows/macOS 一键装引擎+CLI+Compose,IDE 集成好,开箱即用 重、Linux 支持弱、商业授权
Portainer CE Web 面板(开源免费) 单机/多主机/服务器、运维 轻量、浏览器访问、管理容器/镜像/卷/网络、多...

Read more

容器内的时间是否会与主机时间自动同步 ?


容器内的时间是否会与主机时间自动同步,取决于容器的运行环境和配置方式。以下是不同容器技术(如Docker、Kubernetes)的常见情况及原理分析:

一、Docker 容器的时间同步机制

1. 默认情况:不自动同步

  • Docker容器默认会继承主机的时间配置(如时区、时间戳),但不会主动与主机时间保持实时同步
  • 原因:容器本质上是隔离的进程环境,时间由容器内的操作系统维护,主机时间变化不会自动传递到容器内。

2. 时间同步的实现方式

  • 挂载主机时区文件
    通过 -v /etc/localtime:/etc/localtime:ro 命令挂载主机时区文件,确保容器时区与主机一致,...

Read more

docker 删除None 镜像


要删除所有标签为 <none> 的 Docker 镜像(悬空镜像),可以使用以下命令:

推荐命令(安全高效):

docker image prune -f

命令详解:

  1. docker image prune:Docker 自带的清理命令,专门用于删除悬空镜像(未被任何容器引用的中间层镜像)。
  2. -f--force:跳过确认提示,直接删除。

备选方案(手动过滤删除):

如果仍需删除所有包含 <none> 标签的镜像(谨慎使用,可能误删依赖项):

docker rmi $(docker images -f "dangling=true"...

Read more

docker-run- entrypoint


在 Docker 中替换容器的 ENTRYPOINT 可以通过多种方式实现,以下是详细的解决方案和示例:


🔧 方法 1:docker run 时临时替换(推荐)

使用 --entrypoint 参数覆盖默认入口点:

# 基本语法
docker run --entrypoint="新入口点命令" [其他选项] 镜像名 [参数]

# 示例:将 nginx 容器的入口点改为 /bin/bash
docker run -it --rm --entrypoint="/bin/bash" nginx:alpine

# 示例:使用脚本作为入口点
docke...

Read more

docker 镜像导出-


在Docker中,导出镜像通常用于将镜像保存到文件,以便在其他环境中导入使用。以下是导出镜像的两种常见方法:

方法一:使用docker save导出镜像

docker save命令用于将一个或多个镜像打包为一个tar文件,保留镜像的所有层和元数据。

步骤: 1. 查看本地镜像列表
bash docker images 找到需要导出的镜像的REPOSITORYTAG(或IMAGE ID)。

  1. 导出镜像到tar文件
    bash docker save -o <输出文件名.tar> <镜像名:标签> # 示例: docker save -o...

Read more

docker-aktools


本地构造镜像及使用

可以通过 Dockerfile 文件进行本地镜像的构造,通过下载仓库中:https://github.com/akfamily/aktools/blob/main/Dockerfile 文件到本地后,

通过 docker build -t aktools:v1 . 命令来构建镜像,

并通过 docker run -p 8080:8080 aktools:v1 来启动镜像,

如需要后台运行则通过 docker run -d -p 8080:8080 aktools:v1 来进行启动。

最后通过访问 http://127.0.0.1:8080/api/public/sto...

Read more

docker-容器拥有和宿主机同网段IP-macvlan


要让 Docker 容器拥有和宿主机同网段的 IP,通常可以使用 macvlan 网络驱动来实现。macvlan 允许你为容器分配直接连接到物理网络的 MAC 地址和 IP 地址,从而让容器像是网络中的独立设备一样。以下是具体步骤:

1. 创建 macvlan 网络

首先,你需要确定宿主机的网络接口名称,例如 eth0。然后使用以下命令创建一个 macvlan 网络:

docker network create -d macvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  -o parent=eth0 \
  m...

Read more