https://www.composerize.com/
与杂乱的 docker 命令告别,使用$ docker-compose up 吧:)
寻找反向 (Docker compose 到docker run命令)?试试Decomposerize
想要转换 Docker Compose 文件格式?试试Composeverter
https://www.decomposerize.com/
将你的 docker compose 文件转换为$ docker run命令:)
将您的docker compose 文件内容粘贴到下面的框中!
想要反向操作(docker run命令到 Docker compose)?试试Composerize
想要转换 Docker Compose 文件格式?试试Composeverter
https://www.composeverter.com/
自动将 您的 Docker Compose 文件从 V1 转换为 V2(2.x、3.x、通用规范)
想要将docker run命令转换为 Docker compose 文件:?尝试Composerize ...
三、基于 Docker-registry/Nexus3 搭建本地仓库
本文是《Docker必知必会系列》第三篇,原文发布于个人博客:悟尘记。
上一篇:Docker必知必会系列(二):基于 Dockerfile 构建并运行镜像
Docker 镜像仓库Repository(仓库)是集中存放镜像的地方。一个 Docker Registry 中可以包含多个 Repository(仓库),每个仓库可以包含多个 Tag(标签),每个标签对应一个 Image(镜像)。
最常使用的 Registry 公开服务是官方的 Docker Hub,这也是默认的 Registry。用户也可以创建本地仓库方便内部使用。
1、官方公共仓库 Docker Hub目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了数量超过 2,650,000 的镜像。大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。
你可以在 https://hub.docker.com 免费注册一个 Docker 账号。通过执行 docker login 命令交互式的输入用户名及密码来完成在 ...
编程开发
未读一图看懂Docker工作原理Docker 包含三个主要组件: 🔹 Docker Client,这是用户交互的界面。它与 Docker 守护程序进行通信。 🔹 Docker Host,在这里,Docker 守护程序监听 Docker API 请求并管理各种 Docker 对象,包括镜像、容器、网络和 volume。 🔹Docker Registries,这是 Docker 镜像存储的地方。例如,Docker Hub 是一个经常被用到的公共注册中心。
七、Docker Compose 入门实践
本文是《Docker必知必会系列》第七篇,原文发布于个人博客:悟尘记。
上一篇:Docker必知必会系列(六):基于多阶段构建减小镜像体积降低复杂度
一、Docker Compose 概述1、Docker Compose 是什么Compose 项目是 Docker 官方支持的开源项目,基于 Python 编写,用于定义和运行多容器Docker应用程序。Compose 使用 YAML 文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。
使用 Dockerfile 模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。Compose 刚好可以满足这样的需求。
Compose 有着用于管理应用程序整个生命周期的各种命令:
启动、停止和重建服务
查看正在运行的服务的状态
实时查看运行服务的日志输出
仅执行一次命令即可运行整个服务 ...
Docker面试突击手册:20个核心问题全覆盖不管是面试 Docker 岗位,还是日常运维、开发中使用容器,总有一些问题绕不开:
容器隔离到底靠什么实现?
namespace 和 cgroup 区别是什么?
RUN 和 CMD 有什么本质差异?
Docker Compose 怎么排查日志?
生产环境如何优化性能?
这篇文章整理了 20 个 Docker 核心高频问题,覆盖:
✔ 底层原理 ✔ 网络机制 ✔ 架构组成 ✔ 镜像构建 ✔ 容器运行 ✔ 数据持久化 ✔ 性能优化
新手入门,老手查漏补缺,面试直接复习。
一、底层原理篇1️⃣ 容器隔离及资源限制的底层技术是什么?核心只有两个:
namespace —— 做“隔离”让容器拥有独立的:
进程空间
网络空间
文件系统
主机名
用户空间
cgroup —— 做“资源限制”控制容器使用多少:
CPU
内存
磁盘 IO
网络带宽
一句话总结:
namespace 负责“看起来独立” cgroup 负责“资源不越界”
2️⃣ namespace 六大隔离类型
类型
隔离内容
mnt
文件系统
UTS
主机名
...
Linux 一键安装 Docker 脚本使用指南
脚本版本 1.0.0 | 默认安装 Docker 27.5.0 | 最后更新 2026-02-16
这个脚本是在管理多台服务器时写的,目的是把每次安装 Docker 都要重复的操作自动化——选版本、配镜像加速、改 daemon.json、设开机自启,一次配好,以后所有机器都用同一套。
系统要求与兼容性支持的 Linux 发行版
Linux 发行版
支持版本
包管理器
推荐度
Ubuntu
20.04 / 22.04 / 24.04
apt
⭐⭐⭐⭐⭐
Debian
11 (Bullseye) / 12 (Bookworm)
apt
⭐⭐⭐⭐⭐
CentOS
7 / 8 / 9
yum
⭐⭐⭐⭐
RHEL
8 / 9
yum
⭐⭐⭐⭐
Rocky Linux
8 / 9
yum
⭐⭐⭐⭐
AlmaLinux
8 / 9
yum
⭐⭐⭐⭐
Fedora
38 / 39
dnf
⭐⭐⭐⭐
Ubuntu、Debian ...
六、基于多阶段构建减小镜像体积降低复杂度
本文是《Docker必知必会系列》第六篇,原文发布于个人博客:悟尘记。
上一篇:Docker必知必会系列(五):Docker 数据持久化存储与性能调优
一、引言如何减小所构建镜像的体积最非常具有挑战性的事情。Docker 17.05版本以后,新增了Dockerfile多阶段构建。所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 FROM 指令。
二、单 Dockerfile 构建镜像如果将所有的构建过程都包含在一个 Dockerfile 中,包括项目及其依赖库的编译、测试、打包等流程,这样会带来的一些问题:
镜像层次多,镜像体积较大,部署时间变长
源代码存在泄露的风险
下面是一个简单示例:
123456789FROM golang:1.14-alpineRUN apk --no-cache add git ca-certificatesWORKDIR /go/src/github.com/go/lixl.cn/helloworld/COPY app.go .RUN go get -d -v github.com/go-sq ...
五、Docker 数据持久化存储与性能调优
本文是《Docker必知必会系列》第五篇,原文发布于个人博客:悟尘记。
上一篇:Docker必知必会系列(四):Docker 网络原理、分类及容器互联配置
数据持久化存储与性能调优数据持久保存默认情况下,在容器内创建的所有文件都存储在可写容器层上。这意味着当该容器不再存在时,数据也将丢失。
为了让数据脱离容器持久保存,Docker 提供了两个选项来将文件持久存储在主机中: volume 和 bind mount 。如果您在 Linux 上运行 Docker,则还可以使用 tmpfs 挂载。如果您在 Windows 上运行 Docker,则还可以使用命名管道。
volume(卷)存储在主机文件系统的一部分中,该文件系统由 Docker 管理(/var/lib/docker/volumes/在 Linux 上)。非 Docker 进程不应修改文件系统的这一部分。卷是在 Docker 中持久保存数据的最佳方法。
bind mount(绑定挂载)可以存储在主机系统上的任何位置。它们甚至可能是重要的系统文件或目录。Docker 主机或 Docke ...
基于 Dockerfile 构建并运行镜像
本文是《Docker必知必会系列》第二篇,原文发布于个人博客:悟尘记。
上一篇:Docker必知必会系列(一):Docker 基础入门及架构介绍
二、基于 Dockerfile 构建并运行镜像构建并运行镜像要构建一个容器,需要做很多的工作,设置很多的配置,如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么经常被提及的无法重复、镜像构建透明性、体积等问题就都会解决。 这个脚本就是 Dockerfile。
准备 Dockerfile 文件下载示例项目,请在终端中运行以下命令:
123curl -LO https://github.com/dockersamples/node-bulletin-board/archive/master.zipunzip master.zipcd node-bulletin-board-master/bulletin-board-app
该node-bulletin-board项目是一个简单的公告板应用程序,使用 Node.js 编写。在此示例中,假设您编写了此应用 ...
编程开发
未读最新docker安装教程1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283最新安装docker教程更改CentOs Yum源rm -rf /etc/yum.repos.d/*wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo或curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repoimage-20241204143942094一键安装docker脚本bash <(curl -sSL https://linuxmirrors.cn/docker.sh)安装完成 +----------- ...
