logo
ghcr.io/openspug/spug:4.1.0
linux/amd64 ghcr.io Tuu 贡献
21
浏览次数
438.34MB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0
源镜像
ghcr.io/openspug/spug:4.1.0
镜像ID
sha256:ad508ec3b144b0d6806fe8f284aaab524f8e70b4553714e27406ff4ad4e0214d
镜像 TAG
4.1.0
镜像大小
438.34MB
平台架构
linux/amd64
镜像源
ghcr.io
CMD
启动入口
/entrypoint.sh
工作目录
OS/平台
linux/amd64
镜像创建
2026-10-10T12:09:24.319627277Z
同步时间
2026-10-16 09:35
浏览量
21 次
贡献者
avatar Tuu
🔌 开放端口 1
80/tcp
📁 目录挂载 1
 /data
⚙️ 环境变量 8
KeyValue
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
LANG=en_US.UTF-8 1
GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D 2
PYTHON_VERSION=3.11.17 3
PYTHON_SHA256=bfb74ad39efae27cda510f134ab408e00f9992c56851cfc0b1cdb5646da11599 4
LC_ALL=en_US.UTF-8 5
TZ=UTC 6
PYTHONUNBUFFERED=1 7
🏷️ 镜像标签 8
KeyValue
2026-10-10T12:06:29.235Z org.opencontainers.image.created
Spug is a lightweight agent-free automatic operation and maintenance platform designed for small and medium-sized enterprises. It integrates host management, host batch execution, host online terminal, file management, application release and deployment, pipelines, online task planning, configuration center, monitoring, alarm and so on. org.opencontainers.image.description
AGPL-3.0 org.opencontainers.image.licenses
aebb0effa152880aa409f861cfdd8c8a4c333228 org.opencontainers.image.revision
https://github.com/openspug/spug org.opencontainers.image.source
spug org.opencontainers.image.title
https://github.com/openspug/spug org.opencontainers.image.url
4.1.0 org.opencontainers.image.version

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0  ghcr.io/openspug/spug:4.1.0

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0  ghcr.io/openspug/spug:4.1.0

Shell快速替换命令

sed -i 's#ghcr.io/openspug/spug:4.1.0#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0  ghcr.io/openspug/spug:4.1.0'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0  ghcr.io/openspug/spug:4.1.0'

镜像构建历史


# 2026-10-10 20:09:24  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/entrypoint.sh"]
                        
# 2026-10-10 20:09:24  0.00B 指定检查容器健康状态的命令
HEALTHCHECK {Test:[CMD-SHELL curl -fsS -o /dev/null http://127.0.0.1/api/account/login/ || exit 1] Interval:30s Timeout:5s StartPeriod:2m0s StartInterval:0s Retries:3}
                        
# 2026-10-10 20:09:24  0.00B 声明容器运行时监听的端口
EXPOSE [80/tcp]
                        
# 2026-10-10 20:09:24  0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/data]
                        
# 2026-10-10 20:09:24  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c chmod +x /entrypoint.sh /usr/bin/init_spug     && mkdir -p /data /var/log/supervisor /run/nginx # buildkit
                        
# 2026-10-10 20:09:24  4.36MB 复制新文件或目录到容器中
COPY /src/spug_web/build /opt/spug/spug_web/build # buildkit
                        
# 2026-10-10 20:07:38  483.76KB 复制新文件或目录到容器中
COPY spug_api /opt/spug/spug_api # buildkit
                        
# 2026-10-10 20:07:38  6.13KB 复制新文件或目录到容器中
COPY docker/entrypoint.sh /entrypoint.sh # buildkit
                        
# 2026-10-10 20:07:38  446.00B 复制新文件或目录到容器中
COPY docker/init_spug /usr/bin/init_spug # buildkit
                        
# 2026-10-10 20:07:38  34.00B 复制新文件或目录到容器中
COPY docs/docker/ssh_config /etc/ssh/ssh_config # buildkit
                        
# 2026-10-10 20:07:38  1.25KB 复制新文件或目录到容器中
COPY docs/docker/spug.ini /etc/supervisord.conf # buildkit
                        
# 2026-10-10 20:07:38  46.72KB 复制新文件或目录到容器中
COPY docs/docker/redis.conf /etc/redis.conf # buildkit
                        
# 2026-10-10 20:07:38  2.35KB 复制新文件或目录到容器中
COPY docs/docker/nginx.conf /etc/nginx/nginx.conf # buildkit
                        
# 2026-10-10 20:07:38  0.00B 设置环境变量 LANG LC_ALL TZ PYTHONUNBUFFERED
ENV LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 TZ=UTC PYTHONUNBUFFERED=1
                        
# 2026-10-10 20:07:38  126.41MB 复制新文件或目录到容器中
COPY /install /usr/local # buildkit
                        
# 2026-10-10 20:07:12  170.39MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends         nginx redis-server supervisor         libmariadb3 libldap-2.5-0 libsasl2-2         ca-certificates git curl wget unzip openssh-client sshpass rsync sshfs         iputils-ping net-tools procps locales tzdata     && sed -i 's/^# *en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen en_US.UTF-8     && rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-10-10 20:07:12  0.00B 添加元数据标签
LABEL org.opencontainers.image.title=Spug org.opencontainers.image.description=Agentless ops platform: hosts, batch execution, web terminal, deployments, pipelines, cron jobs, monitoring and alerts org.opencontainers.image.source=https://github.com/openspug/spug org.opencontainers.image.url=https://ops.spug.cc org.opencontainers.image.licenses=AGPL-3.0
                        
# 2026-10-06 10:04:13  0.00B 设置默认要执行的命令
CMD ["python3"]
                        
# 2026-10-06 10:04:13  36.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	for src in idle3 pip3 pydoc3 python3 python3-config; do 		dst="$(echo "$src" | tr -d 3)"; 		[ -s "/usr/local/bin/$src" ]; 		[ ! -e "/usr/local/bin/$dst" ]; 		ln -svT "$src" "/usr/local/bin/$dst"; 	done # buildkit
                        
# 2026-10-06 10:04:13  53.24MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 		savedAptMark="$(apt-mark showmanual)"; 	apt-get update; 	apt-get install -y --no-install-recommends 		dpkg-dev 		g++ 		gcc 		gnupg 		libbluetooth-dev 		libbz2-dev 		libc6-dev 		libdb-dev 		libffi-dev 		libgdbm-dev 		liblzma-dev 		libncursesw5-dev 		libreadline-dev 		libsqlite3-dev 		libssl-dev 		make 		tk-dev 		uuid-dev 		wget 		xz-utils 		zlib1g-dev 	; 		wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; 	echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; 	wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; 	GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; 	gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; 	gpg --batch --verify python.tar.xz.asc python.tar.xz; 	gpgconf --kill all; 	rm -rf "$GNUPGHOME" python.tar.xz.asc; 	mkdir -p /usr/src/python; 	tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; 	rm python.tar.xz; 		cd /usr/src/python; 	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; 	./configure 		--build="$gnuArch" 		--enable-loadable-sqlite-extensions 		--enable-optimizations 		--enable-option-checking=fatal 		--enable-shared 		$(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') 		--with-ensurepip 	; 	nproc="$(nproc)"; 	EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; 	LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; 	LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; 	make -j "$nproc" 		"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" 		"LDFLAGS=${LDFLAGS:-}" 	; 	rm python; 	make -j "$nproc" 		"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" 		"LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" 		python 	; 	make install; 		cd /; 	rm -rf /usr/src/python; 		find /usr/local -depth 		\( 			\( -type d -a \( -name test -o -name tests -o -name idle_test \) \) 			-o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) 		\) -exec rm -rf '{}' + 	; 		ldconfig; 		apt-mark auto '.*' > /dev/null; 	apt-mark manual $savedAptMark; 	find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' 		| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' 		| sort -u 		| xargs -rt dpkg-query --search 		| awk 'sub(":$", "", $1) { print $1 }' 		| sort -u 		| xargs -r apt-mark manual 	; 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; 	rm -rf /var/lib/apt/lists/*; 		export PYTHONDONTWRITEBYTECODE=1; 	python3 --version; 		pip3 install 		--disable-pip-version-check 		--no-cache-dir 		--no-compile 		'setuptools==79.0.1' 		'wheel==0.46.3' 	; 	pip3 --version # buildkit
                        
# 2026-10-06 09:56:25  0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=bfb74ad39efae27cda510f134ab408e00f9992c56851cfc0b1cdb5646da11599
                        
# 2026-10-06 09:56:25  0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.11.17
                        
# 2026-10-06 09:56:25  0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
                        
# 2026-10-06 09:56:25  8.53MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	apt-get update; 	apt-get install -y --no-install-recommends 		ca-certificates 		netbase 		tzdata 	; 	rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-10-06 09:56:25  0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
                        
# 2026-10-06 09:56:25  0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2026-10-05 08:00:00  74.87MB 
# debian.sh --arch 'amd64' out/ 'bookworm' '@1791158400'
                        
                    

镜像信息

{
    "Id": "sha256:ad508ec3b144b0d6806fe8f284aaab524f8e70b4553714e27406ff4ad4e0214d",
    "RepoTags": [
        "ghcr.io/openspug/spug:4.1.0",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug:4.1.0"
    ],
    "RepoDigests": [
        "ghcr.io/openspug/spug@sha256:f9eab362398863c510b2b4a69d6bd6833416bd6a5b259586e084d9d4efcd7a15",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openspug/spug@sha256:9ea5c64eff10ada553d0a22a345c65fe0b85897107a55bd856f718c21db98bb1"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-10-10T12:09:24.319627277Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "80/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "LANG=en_US.UTF-8",
            "GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D",
            "PYTHON_VERSION=3.11.17",
            "PYTHON_SHA256=bfb74ad39efae27cda510f134ab408e00f9992c56851cfc0b1cdb5646da11599",
            "LC_ALL=en_US.UTF-8",
            "TZ=UTC",
            "PYTHONUNBUFFERED=1"
        ],
        "Cmd": null,
        "Healthcheck": {
            "Test": [
                "CMD-SHELL",
                "curl -fsS -o /dev/null http://127.0.0.1/api/account/login/ || exit 1"
            ],
            "Interval": 30000000000,
            "Timeout": 5000000000,
            "StartPeriod": 120000000000,
            "Retries": 3
        },
        "Image": "",
        "Volumes": {
            "/data": {}
        },
        "WorkingDir": "",
        "Entrypoint": [
            "/entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "org.opencontainers.image.created": "2026-10-10T12:06:29.235Z",
            "org.opencontainers.image.description": "Spug is a lightweight agent-free automatic operation and maintenance platform designed for small and medium-sized enterprises. It integrates host management, host batch execution, host online terminal, file management, application release and deployment, pipelines, online task planning, configuration center, monitoring, alarm and so on.",
            "org.opencontainers.image.licenses": "AGPL-3.0",
            "org.opencontainers.image.revision": "aebb0effa152880aa409f861cfdd8c8a4c333228",
            "org.opencontainers.image.source": "https://github.com/openspug/spug",
            "org.opencontainers.image.title": "spug",
            "org.opencontainers.image.url": "https://github.com/openspug/spug",
            "org.opencontainers.image.version": "4.1.0"
        }
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 438338261,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/43f17a5a8953c234d55bbb93e0fae9e1d0875c1ad9a6392850b3d2548cbebef8/diff:/var/lib/docker/overlay2/d0975a6a0c422857409262129e8f4f6e91a58a224e022408a063bccd50bd39a3/diff:/var/lib/docker/overlay2/7d9a49cd676c32118a1910a0d85ee4e64633c9ce631b227ea0d227e18b9068e0/diff:/var/lib/docker/overlay2/b53be592638c6ef91765c125bcb66ac9bb57eca4c02928ccbdddf0a326280742/diff:/var/lib/docker/overlay2/45a72b0566722e64ab0272de79aec82ce5950bd324961d7e1aad99aec75f34f7/diff:/var/lib/docker/overlay2/b96fde8e1243c09e855ee5d52c6e7cfab6e41376d6b80776ac5283f3dc9d4194/diff:/var/lib/docker/overlay2/f4e1cf96dc67f948affbb831fd4c8a49f80f0360cd0294215745c4a7ece12eed/diff:/var/lib/docker/overlay2/a6b30a7781750e9534770db00fc0887b4940354d1818b09de54c3ebda9ba9542/diff:/var/lib/docker/overlay2/308d6e2ce3475a9eff851f636179a6cd6e96fc93f348b4156fab341dc4c31ea3/diff:/var/lib/docker/overlay2/526a1c011873763ddddc22001ca5d899e62d70bab6ff039845e2d76e1ec4fd94/diff:/var/lib/docker/overlay2/ef13ba716ee45e7f4bd9a3bef431816057ded3dd007b40c027306c78313a6128/diff:/var/lib/docker/overlay2/630743fffa4bd6e8c6302fa52a09a389e249152a8ea0d461aa23e9b1820cacec/diff:/var/lib/docker/overlay2/c56cdfab98165b0ed9df470136228a9df0eca5ae0a8fd451bec4a9bebe53ff37/diff:/var/lib/docker/overlay2/fab330c2bb6bc4099736a1694cc5c5dbb4e630d2173e6ac47a96fbce3de17285/diff",
            "MergedDir": "/var/lib/docker/overlay2/cb35327bf10b8bee255123621b3a26ebe18ccaeda06af5f3bcb76687acdb23eb/merged",
            "UpperDir": "/var/lib/docker/overlay2/cb35327bf10b8bee255123621b3a26ebe18ccaeda06af5f3bcb76687acdb23eb/diff",
            "WorkDir": "/var/lib/docker/overlay2/cb35327bf10b8bee255123621b3a26ebe18ccaeda06af5f3bcb76687acdb23eb/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:e58989146fcec76699871403b9897b5c014af1ccd85f5a9300a215e7975525d7",
            "sha256:b0323ff28afe21fb981d00843d08f925ac6c678a3d4e16be06f18fc89357f720",
            "sha256:0df1f695216dce8e8c88a822f441e7c18e4945a5e7cd24964549a30bc2ee8b6f",
            "sha256:e9a58519e8e3dc1326f31fbc9788c62ecff75201eb7aafee27c567d41b6fea1e",
            "sha256:9a62172fc665e2a901514e6eacff401053e3a8df00dc080db306e89a0f9f16e3",
            "sha256:04b83d8d13f68624007e30f8461e980f80eb1e3375f7566c99e185e48b80f8be",
            "sha256:d74224468f77b72f17522c54dc7e3388a02b8c1ebe0dafb1d9f1247117bd1f5b",
            "sha256:dc0ac0681a454409cb8667b32f9e79cbccdc0976ad61540c84a4aded7f5adf36",
            "sha256:c4c864558b88625fcce47a2d0761476259599558628ef73738d0426b724a8c02",
            "sha256:613b5c0fe41e24d4ff6d46a1805e5bf2b1d6231010f616d6cb9948641c84b841",
            "sha256:4b007e1fbf0bdfa2180f722af42a4c3118a4bf6dfb396f757a8bf721cc60874f",
            "sha256:4730da2bcda31a7ba05c0d61006bcfa075c20eb5e6b0f68ac6713871570704af",
            "sha256:24f4c43cf876b593283223ef1f62d69975be97a9ed07845c243ac751dd77dc78",
            "sha256:4e6c398b94ed4abbc6f8fbd3ccb7828d9ada9e0e59e39ce57affc2fc1e6d979f",
            "sha256:cfaf9b1fba989fe81d42887cf4bbb68573822a376332c2ae4a378b73a4e11db0"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-10-16T09:35:10.659505397+08:00"
    }
}

更多版本

ghcr.io/openspug/spug:4.1.0

linux/amd64 ghcr.io438.34MB2026-10-16 09:35
20
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×