Linux运维_Dockerfile_打包Moby-26.1.4编译dockerd环境

news/2025/2/21 15:50:13/

dockerd_1">Linux运维_Dockerfile_打包Moby-26.1.4编译dockerd环境

Dockerfile 是一个文本文件, 包含了构建 Docker 镜像的所有指令。

Dockerfile 是一个用来构建镜像的文本文件, 文本内容包含了一条条构建镜像所需的指令和说明。

通过定义一系列命令和参数, Dockerfile 指导 Docker 构建一个自定义的镜像。

使用方法

  • 创建项目目录:

打包 docker 镜像项目目录内需要包含 Dockerfile 文件 (确保文件名大小写正确, 并且没有文件扩展名)。

目录结构如下:

 /home+- /jack+- /package-dock-img-project+- Dockerfile
  • 进入项目目录:

进入包含 Dockerfile 文件的项目目录。

  • 执行 docker 命令构建镜像:

在包含 Dockerfile 文件的项目目录中执行以下命令:

docker build -t <your-image-name>:<tag> .# 命令说明:
# "<your-image-name>" 是你希望给镜像起的名字。
# "<tag>" 是镜像的版本号, 例如 latest。如果你不指定 tag, 默认是 latest。
# "." 表示 Dockerfile 文件的位置, 这里是当前目录。

完整脚本

dockerfile"># compile-env/moby-26.1.4/golang:1.21.12-bookworm (Whole)
# Create by GF 2025-02-18FROM tonistiigi/xx:1.4.0 AS xx# 使用官方 golang-1.21.12-bookworm 运行时作为父镜像
FROM golang:1.21.12-bookworm AS base
COPY --from=xx / /# 设置维护者信息
LABEL maintainer="goufeng928@live.com"# ################################################ Extracting Information from "moby-26.1.4/Dockerfile":
# ...
# FROM --platform=$BUILDPLATFORM tonistiigi/xx:${XX_VERSION} AS xx
# ...
# FROM --platform=$BUILDPLATFORM ${GOLANG_IMAGE} AS base
# ...
# COPY --from=xx / /
# ...
# RUN ... apt-get install --no-install-recommends -y file
# ...
# FROM base AS criu
# ...
# RUN ... apt-get install -y --no-install-recommends criu
# ...
# FROM base AS containerd-build
# ...
# RUN ... xx-apt-get install -y --no-install-recommends gcc libbtrfs-dev libsecret-1-dev pkg-config
# ...
# FROM base AS runc-build
# ...
# RUN ... xx-apt-get install -y --no-install-recommends dpkg-dev gcc libc6-dev libseccomp-dev pkg-config
# ...
# FROM base AS tini-build
# ...
# RUN ... apt-get install -y --no-install-recommends cmake
# ...
# RUN ... xx-apt-get install -y --no-install-recommends gcc libc6-dev pkg-config
# ...
# FROM base AS rootlesskit-build
# ...
# RUN ... xx-apt-get install -y --no-install-recommends gcc libc6-dev pkg-config
# ...
# FROM base AS crun
# ...
# RUN ... apt-get install -y --no-install-recommends autoconf automake build-essential libcap-dev \
#             libprotobuf-c-dev libseccomp-dev libsystemd-dev libtool libudev-dev libyajl-dev python3
# ...
# FROM base AS containerutil-build
# ...
# RUN ... xx-apt-get install -y --no-install-recommends gcc g++ libc6-dev pkg-config
# ...
# FROM base AS dev-systemd-false
# ...
# FROM dev-systemd-false AS dev-systemd-true
# ...
# RUN ... apt-get install -y --no-install-recommends dbus dbus-user-session systemd systemd-sysv
# ...
# FROM dev-systemd-${SYSTEMD} AS dev-base
# ...
# RUN ... apt-get install -y --no-install-recommends apparmor bash-completion bzip2 inetutils-ping \
#             iproute2 iptables jq libcap2-bin libnet1 libnl-3-200 libprotobuf-c1 libyajl2 net-tools \
#             patch pigz sudo systemd-journal-remote thin-provisioning-tools uidmap vim vim-common \
#             xfsprogs xz-utils zip zstd
# ...
# RUN ... apt-get install --no-install-recommends -y gcc pkg-config dpkg-dev libapparmor-dev \
#             libseccomp-dev libsecret-1-dev libsystemd-dev libudev-dev yamllint
# ...
# FROM base AS build
# ...
# RUN ... apt-get install --no-install-recommends -y clang lld llvm
# ...
# RUN ... xx-apt-get install --no-install-recommends -y dpkg-dev gcc libapparmor-dev libc6-dev \
#             libseccomp-dev libsecret-1-dev libsystemd-dev libudev-dev pkg-config
# ...
# [Total: 52 "apt-get install" Packages, 11 "xx-apt-get install" Packages]RUN sed -i "s#deb.debian.org#mirrors.aliyun.com#g" /etc/apt/sources.list.d/debian.sources# Debian 及其衍生版本中用于处理 debconf 配置文件的工具是 "apt-utils",
# 未安装 "apt-utils", 可能出现 "debconf: delaying package configuration, since apt-utils is not installed" 这样的错误。RUN    apt-get update \&& apt-get install -y --no-install-recommends apt-utils# ...............................................RUN    apt-get update \&& apt-get install -y --no-install-recommends \apparmor autoconf automake bash-completion build-essential bzip2 clang cmake criu dbus \dbus-user-session dpkg-dev file gcc inetutils-ping iproute2 iptables jq libapparmor-dev \libcap-dev libcap2-bin libnet1 libnl-3-200 libprotobuf-c-dev libprotobuf-c1 libseccomp-dev \libsecret-1-dev libsystemd-dev libtool libudev-dev libyajl-dev libyajl2 lld llvm net-tools \patch pigz pkg-config python3 sudo systemd systemd-journal-remote systemd-sysv \thin-provisioning-tools uidmap vim vim-common xfsprogs xz-utils yamllint zip zstd# ...............................................RUN    apt-get update \&& xx-apt-get install -y --no-install-recommends \dpkg-dev g++ gcc libapparmor-dev libbtrfs-dev libc6-dev libseccomp-dev libsecret-1-dev \libsystemd-dev libudev-dev pkg-configRUN sed -i "s#mirrors.aliyun.com#deb.debian.org#g" /etc/apt/sources.list.d/debian.sources# ################################################ Extracting Information from "moby-26.1.4/Dockerfile":
# ...
# FROM base AS tomll
# ...
# RUN ... GOBIN=/build/ GO111MODULE=on go install "github.com/pelletier/go-toml/cmd/tomll@${GOTOML_VERSION}"
# ...
# FROM base AS gowinres
# ...
# RUN ... GOBIN=/build/ GO111MODULE=on go install "github.com/tc-hib/go-winres@${GOWINRES_VERSION}"
# ...
# FROM base AS golangci_lint
# ...
# RUN ... GOBIN=/build/ GO111MODULE=on go install "github.com/golangci/golangci-lint/cmd/golangci-lint@${GOLANGCI_LINT_VERSION}"
# ...
# FROM base AS gotestsum
# ...
# RUN ... GOBIN=/build/ GO111MODULE=on go install "gotest.tools/gotestsum@${GOTESTSUM_VERSION}"
# ...
# FROM base AS shfmt
# ...
# RUN ... GOBIN=/build/ GO111MODULE=on go install "mvdan.cc/sh/v3/cmd/shfmt@${SHFMT_VERSION}"
# ...
# FROM base AS gopls
# ...
# RUN ... GOBIN=/build/ GO111MODULE=on go install "golang.org/x/tools/gopls@latest"
# ...COPY for-tomll/  /opt/for-tomll
WORKDIR /opt/for-tomllRUN tar   -zxvf go-toml-1.8.1.tar.gz
RUN mkdir -p    /usr/local/go/src/github.com/pelletier/go-toml/
RUN cp    -r    /opt/for-tomll/go-toml-1.8.1/* /usr/local/go/src/github.com/pelletier/go-toml/WORKDIR /usr/local/go
RUN GO111MODULE=off go install /usr/local/go/src/github.com/pelletier/go-toml/cmd/tomll# ...............................................COPY for-go-winres/  /opt/for-go-winres
WORKDIR /opt/for-go-winresRUN tar -zxvf winres-0.2.1.tar.gz              && mkdir -p /usr/local/go/src/github.com/tc-hib/winres/
RUN tar -zxvf resize-20180222-archive.tar.gz   && mkdir -p /usr/local/go/src/github.com/nfnt/resize/
RUN tar -zxvf image-0.22.0.tar.gz              && mkdir -p /usr/local/go/src/golang.org/x/image/
RUN tar -zxvf cli-2.27.4.tar.gz                && mkdir -p /usr/local/go/src/github.com/urfave/cli/v2/
RUN tar -zxvf go-md2man-2.0.4.tar.gz           && mkdir -p /usr/local/go/src/github.com/cpuguy83/go-md2man/v2/
RUN tar -zxvf smetrics-20240522-archive.tar.gz && mkdir -p /usr/local/go/src/github.com/xrash/smetrics/
RUN tar -zxvf blackfriday-2.1.0.tar.gz         && mkdir -p /usr/local/go/src/github.com/russross/blackfriday/v2/
RUN tar -zxvf go-winres-0.3.1.tar.gz           && mkdir -p /usr/local/go/src/github.com/tc-hib/go-winres/RUN cp -r /opt/for-go-winres/winres-0.2.1/*               /usr/local/go/src/github.com/tc-hib/winres/
RUN cp -r /opt/for-go-winres/resize-20180222-archive/*    /usr/local/go/src/github.com/nfnt/resize/
RUN cp -r /opt/for-go-winres/image-0.22.0/*               /usr/local/go/src/golang.org/x/image/
RUN cp -r /opt/for-go-winres/cli-2.27.4/*                 /usr/local/go/src/github.com/urfave/cli/v2/
RUN cp -r /opt/for-go-winres/go-md2man-2.0.4/*            /usr/local/go/src/github.com/cpuguy83/go-md2man/v2/
RUN cp -r /opt/for-go-winres/smetrics-20240522-archive/*  /usr/local/go/src/github.com/xrash/smetrics/
RUN cp -r /opt/for-go-winres/blackfriday-2.1.0/*          /usr/local/go/src/github.com/russross/blackfriday/v2/
RUN cp -r /opt/for-go-winres/go-winres-0.3.1/*            /usr/local/go/src/github.com/tc-hib/go-winres/WORKDIR /usr/local/go
RUN GO111MODULE=off go install ./src/github.com/tc-hib/go-winres# ...............................................COPY for-gotestsum/  /opt/for-gotestsum
WORKDIR /opt/for-gotestsumRUN tar -zxvf color-1.17.0.tar.gz                  && mkdir -p /usr/local/go/src/github.com/fatih/color/
RUN tar -zxvf fsnotify-1.7.0.tar.gz                && mkdir -p /usr/local/go/src/github.com/fsnotify/fsnotify/
RUN tar -zxvf go-colorable-20230322-archive.tar.gz && mkdir -p /usr/local/go/src/github.com/mattn/go-colorable/
RUN tar -zxvf go-isatty-20231017-archive.tar.gz    && mkdir -p /usr/local/go/src/github.com/mattn/go-isatty/
RUN tar -zxvf gotestdox-20240608-archive.tar.gz    && mkdir -p /usr/local/go/src/github.com/bitfield/gotestdox/
RUN tar -zxvf gotestsum-1.8.2.tar.gz               && mkdir -p /usr/local/go/src/gotest.tools/gotestsum/
RUN tar -zxvf mod-0.22.0.tar.gz                    && mkdir -p /usr/local/go/src/golang.org/x/mod/
RUN tar -zxvf pflag-1.0.5.tar.gz                   && mkdir -p /usr/local/go/src/github.com/dnephin/pflag/
RUN tar -zxvf shlex-20191202-archive.tar.gz        && mkdir -p /usr/local/go/src/github.com/google/shlex/
RUN tar -zxvf sync-0.9.0.tar.gz                    && mkdir -p /usr/local/go/src/golang.org/x/sync/
RUN tar -zxvf sys-0.27.0.tar.gz                    && mkdir -p /usr/local/go/src/golang.org/x/sys/
RUN tar -zxvf term-0.26.0.tar.gz                   && mkdir -p /usr/local/go/src/golang.org/x/term/
RUN tar -zxvf text-0.3.0.tar.gz                    && mkdir -p /usr/local/go/src/golang.org/x/text/
RUN tar -zxvf tools-0.22.1.tar.gz                  && mkdir -p /usr/local/go/src/golang.org/x/tools/RUN cp -r /opt/for-gotestsum/color-1.17.0/*                  /usr/local/go/src/github.com/fatih/color/
RUN cp -r /opt/for-gotestsum/fsnotify-1.7.0/*                /usr/local/go/src/github.com/fsnotify/fsnotify/
RUN cp -r /opt/for-gotestsum/go-colorable-20230322-archive/* /usr/local/go/src/github.com/mattn/go-colorable/
RUN cp -r /opt/for-gotestsum/go-isatty-20231017-archive/*    /usr/local/go/src/github.com/mattn/go-isatty/
RUN cp -r /opt/for-gotestsum/gotestdox-20240608-archive/*    /usr/local/go/src/github.com/bitfield/gotestdox/
RUN cp -r /opt/for-gotestsum/gotestsum-1.8.2/*               /usr/local/go/src/gotest.tools/gotestsum/
RUN cp -r /opt/for-gotestsum/mod-0.22.0/*                    /usr/local/go/src/golang.org/x/mod/
RUN cp -r /opt/for-gotestsum/pflag-1.0.5/*                   /usr/local/go/src/github.com/dnephin/pflag/
RUN cp -r /opt/for-gotestsum/shlex-20191202-archive/*        /usr/local/go/src/github.com/google/shlex/
RUN cp -r /opt/for-gotestsum/sync-0.9.0/*                    /usr/local/go/src/golang.org/x/sync/
RUN cp -r /opt/for-gotestsum/sys-0.27.0/*                    /usr/local/go/src/golang.org/x/sys/
RUN cp -r /opt/for-gotestsum/term-0.26.0/*                   /usr/local/go/src/golang.org/x/term/
RUN cp -r /opt/for-gotestsum/text-0.3.0/*                    /usr/local/go/src/golang.org/x/text/
RUN cp -r /opt/for-gotestsum/tools-0.22.1/*                  /usr/local/go/src/golang.org/x/tools/WORKDIR /usr/local/go
RUN GO111MODULE=off go install /usr/local/go/src/gotest.tools/gotestsum# ...............................................COPY for-shfmt/  /opt/for-shfmt
WORKDIR /opt/for-shfmtRUN tar -zxvf diff-20241225-archive.tar.gz && mkdir -p /usr/local/go/src/github.com/pkg/diff/
RUN tar -zxvf editorconfig-0.3.0.tar.gz    && mkdir -p /usr/local/go/src/mvdan.cc/editorconfig/
RUN tar -zxvf sh-3.8.0.tar.gz              && mkdir -p /usr/local/go/src/mvdan.cc/sh/v3/
RUN tar -zxvf renameio-2.0.0.tar.gz        && mkdir -p /usr/local/go/src/github.com/google/renameio/v2/RUN cp -r /opt/for-shfmt/diff-20241225-archive/* /usr/local/go/src/github.com/pkg/diff/
RUN cp -r /opt/for-shfmt/editorconfig-0.3.0/*    /usr/local/go/src/mvdan.cc/editorconfig/
RUN cp -r /opt/for-shfmt/sh-3.8.0/*              /usr/local/go/src/mvdan.cc/sh/v3/
RUN cp -r /opt/for-shfmt/renameio-2.0.0/*        /usr/local/go/src/github.com/google/renameio/v2/WORKDIR /usr/local/go
RUN GO111MODULE=off go install /usr/local/go/src/mvdan.cc/sh/v3/cmd/shfmt# ...............................................WORKDIR /usr/local/go
RUN GO111MODULE=on GOPROXY=https://goproxy.cn,direct \go install "github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.2"WORKDIR /usr/local/go
RUN GO111MODULE=on GOPROXY=https://goproxy.cn,direct \go install "golang.org/x/tools/gopls@v0.16.1"# ###############################################RUN rm -rf /opt/for-tomll
RUN rm -rf /opt/for-go-winres
RUN rm -rf /opt/for-gotestsum
RUN rm -rf /opt/for-shfmtWORKDIR /go

总结

以上就是关于 Linux运维 Dockerfile 打包 Moby-26.1.4 编译 dockerd 环境 的全部内容。

更多内容可以访问我的代码仓库:

https://gitee.com/goufeng928/public

https://github.com/goufeng928/public


http://www.ppmy.cn/news/1573919.html

相关文章

docker 改了镜像源为阿里云,还是下载失败

我是windows系统&#xff0c;在学习docker&#xff0c;刚开始执行docker run hello-world还是失败&#xff0c;然后改了镜像源为阿里云&#xff0c;还是失败&#xff0c;后来去查资料&#xff0c;除了阿里云还配置了很多其他镜像源&#xff0c;才好使 "registry-mirrors&q…

性格测评小程序10生成报告

目录 1 修改数据源2 创建云函数2.1 安装依赖文件2.2 编写主方法 3 启用大模型4 搭建前端逻辑5 最终效果总结 这是我们测评小程序的最后一篇内容&#xff0c;当用户提交了测评&#xff0c;就需要依据测评的结果生成报告。如果按照传统开发思路&#xff0c;需要建表然后录入不同性…

ue5 Arch vis AI traffic system 车辆系统添加不同种类的车

一、前置条件 资源包拥有二、步骤 添加第二辆车 在父级蓝图底下创建子级蓝图 打开子级蓝图 替换骨骼网格体 创建动画蓝图&#xff0c;骨骼选择该骨骼网格体的骨骼 连接动画蓝图 添加动画蓝图 添加资源包

GO语言的安装以及第一个Go语言程序

1. Go语言的安装与设置 官网:golang.org 国内下载:https://studygolang.com/dl 国内镜像:https://goproxy.cn/ 2. GOland的安装 Go 1.13 及以上&#xff08;推荐&#xff09; 打开你的终端并执行 $ go env -w GO111MODULEon $ go env -w GOPROXYhttps://goproxy.cn,direc…

芝加哥学派(Chicago School):金融与经济学的创新力量(中英双语)

芝加哥学派&#xff1a;金融与经济学的创新力量 在经济学和金融学的历史上&#xff0c;有一个学派的影响力不容忽视&#xff0c;那就是芝加哥学派&#xff08;Chicago School&#xff09;。芝加哥学派不仅在学术界广受推崇&#xff0c;也深刻影响了全球的经济政策和金融市场。…

MySQL创建视图

《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了的博客-CSDN博客 视图是一张虚拟表&#xff0c;是从数据库中一张或多张表中导出来的表。…

Bug:Goland debug失效详细解决步骤【合集】

Bug&#xff1a;Goland debug失效详细解决步骤【合集】 今天用Goland开发时&#xff0c;打断点&#xff0c;以debug方式运行&#xff0c;发现程序并没有断住&#xff0c;程序跳过了断点&#xff0c;直接运行结束。网上搜寻了大量文章&#xff0c;最后得以解决&#xff0c;特此在…

字节跳动AI编辑器Trae基本配置教程

Trae是用来平替Cursor的AI编码工具&#xff0c;由国内公司字节跳动推出&#xff0c;目前已支持mac/windows版本&#xff0c;当前由Claude-3.5/gpt4o大模型驱动&#xff0c;代码能力极强&#xff0c;另外提供了 AI 问答、代码自动补全以及基于代理的 AI 编程能力等功能。在使用 …