ghcr.io/learnhouse/app:1.2.2 linux/amd64

ghcr.io/learnhouse/app:1.2.2 - 国内下载镜像源 浏览次数:17 gac912 贡献同步

ghcr.io/learnhouse/app是LearnHouse平台的应用容器镜像,用于部署提供在线学习服务的应用程序,包含运行该应用所需的环境与组件,支持学习内容管理、用户交互等相关功能。

源镜像 ghcr.io/learnhouse/app:1.2.2
国内镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/learnhouse/app:1.2.2
镜像ID sha256:568f23db6e7b28128217ae30a88b3999d203e72242a93ade0652e858831fe6f6
镜像TAG 1.2.2
大小 1.38GB
镜像源 ghcr.io
CMD sh /app/start.sh
启动入口
工作目录 /app
OS/平台 linux/amd64
浏览量 17 次
贡献者
avatar
gac912
镜像创建 2026-05-21T21:43:47.364567308Z
同步时间 2026-06-18 17:13
开放端口
4000/tcp 80/tcp 9000/tcp
环境变量
PATH=/root/.bun/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PYTHON_VERSION=3.14.3 PYTHON_SHA256=a97d5549e9ad81fe17159ed02c68774ad5d266c72f8d9a0b5a9c371fe85d902b PORT=8000 LEARNHOUSE_PORT=9000 COLLAB_PORT=4000 HOSTNAME=0.0.0.0 LEARNHOUSE_OSS=true NEXT_PUBLIC_LEARNHOUSE_OSS=true
镜像安全扫描 查看Trivy扫描报告

系统OS: debian 12.13 扫描引擎: Trivy 扫描时间: 2026-06-18 17:14

低危漏洞:748 中危漏洞:1058 高危漏洞:234 严重漏洞:15

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/learnhouse/app:1.2.2
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/learnhouse/app:1.2.2  ghcr.io/learnhouse/app:1.2.2

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/learnhouse/app:1.2.2
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/learnhouse/app:1.2.2  ghcr.io/learnhouse/app:1.2.2

Shell快速替换命令

sed -i 's#ghcr.io/learnhouse/app:1.2.2#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/learnhouse/app:1.2.2#' deployment.yaml

Ansible快速分发-Docker

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

Ansible快速分发-Containerd

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

镜像构建历史


# 2026-05-22 05:43:47  0.00B 设置默认要执行的命令
CMD ["sh" "/app/start.sh"]
                        
# 2026-05-22 05:43:47  0.00B 声明容器运行时监听的端口
EXPOSE [4000/tcp 80/tcp 9000/tcp]
                        
# 2026-05-22 05:43:47  0.00B 设置环境变量 PORT LEARNHOUSE_PORT COLLAB_PORT HOSTNAME LEARNHOUSE_OSS NEXT_PUBLIC_LEARNHOUSE_OSS
ENV PORT=8000 LEARNHOUSE_PORT=9000 COLLAB_PORT=4000 HOSTNAME=0.0.0.0 LEARNHOUSE_OSS=true NEXT_PUBLIC_LEARNHOUSE_OSS=true
                        
# 2026-05-22 05:43:47  3.70KB 执行命令并创建新的镜像层
RUN |1 LEARNHOUSE_PUBLIC=true /bin/sh -c chmod +x /app/api/docker-entrypoint.sh /app/start.sh # buildkit
                        
# 2026-05-22 05:43:47  1.20KB 复制新文件或目录到容器中
COPY ./docker/start.sh /app/start.sh # buildkit
                        
# 2026-05-22 05:43:47  0.00B 复制新文件或目录到容器中
COPY ./apps/api/docker-entrypoint.sh /app/api/docker-entrypoint.sh # buildkit
                        
# 2026-05-22 05:43:47  3.16KB 复制新文件或目录到容器中
COPY ./docker/nginx.conf /etc/nginx/conf.d/default.conf # buildkit
                        
# 2026-05-22 05:43:47  0.00B 设置工作目录为/app
WORKDIR /app
                        
# 2026-05-22 05:43:47  8.03MB 执行命令并创建新的镜像层
RUN |1 LEARNHOUSE_PUBLIC=true /bin/sh -c bun install --production # buildkit
                        
# 2026-05-22 05:43:46  16.84KB 复制新文件或目录到容器中
COPY apps/collab/package.json apps/collab/bun.lock* ./ # buildkit
                        
# 2026-05-22 05:43:46  13.78KB 复制新文件或目录到容器中
COPY /app/dist ./dist # buildkit
                        
# 2026-05-22 05:43:46  0.00B 设置工作目录为/app/collab
WORKDIR /app/collab
                        
# 2026-05-22 05:43:46  0.00B 执行命令并创建新的镜像层
RUN |1 LEARNHOUSE_PUBLIC=true /bin/sh -c if [ "$LEARNHOUSE_PUBLIC" = "true" ]; then rm -rf /app/api/ee; fi # buildkit
                        
# 2026-05-22 05:43:46  0.00B 定义构建参数
ARG LEARNHOUSE_PUBLIC=true
                        
# 2026-05-22 05:43:46  5.22MB 复制新文件或目录到容器中
COPY ./apps/api ./ # buildkit
                        
# 2026-05-22 05:43:46  469.84MB 执行命令并创建新的镜像层
RUN /bin/sh -c pip install --no-cache-dir --upgrade pip uv     && uv sync --no-dev # buildkit
                        
# 2026-05-22 05:42:49  259.87KB 复制新文件或目录到容器中
COPY ./apps/api/uv.lock ./apps/api/pyproject.toml ./ # buildkit
                        
# 2026-05-22 05:42:49  0.00B 设置工作目录为/app/api
WORKDIR /app/api
                        
# 2026-05-22 05:42:49  119.07MB 复制新文件或目录到容器中
COPY /app /app/web # buildkit
                        
# 2026-05-22 05:42:49  0.00B 设置环境变量 PATH
ENV PATH=/root/.bun/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2026-05-22 05:41:39  655.22MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update     && apt-get install -y --no-install-recommends nginx curl netcat-openbsd ca-certificates gnupg unzip build-essential     && curl -fsSL https://deb.nodesource.com/setup_22.x | bash -     && apt-get install -y --no-install-recommends nodejs     && npm install -g pm2     && curl -fsSL https://bun.sh/install | bash     && apt-get purge -y gnupg     && apt-get autoremove -y     && apt-get clean     && rm -rf /var/lib/apt/lists/* /tmp/* /root/.npm     && rm /etc/nginx/sites-enabled/default # buildkit
                        
# 2026-04-07 10:26:10  0.00B 设置默认要执行的命令
CMD ["python3"]
                        
# 2026-04-07 10:26:10  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-04-07 10:26:10  37.76MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 		savedAptMark="$(apt-mark showmanual)"; 	apt-get update; 	apt-get install -y --no-install-recommends 		dpkg-dev 		gcc 		gnupg 		libbluetooth-dev 		libbz2-dev 		libc6-dev 		libdb-dev 		libffi-dev 		libgdbm-dev 		liblzma-dev 		libncursesw5-dev 		libreadline-dev 		libsqlite3-dev 		libssl-dev 		libzstd-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 -; 	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"; 	arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; 	case "$arch" in 		amd64|arm64) 			EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; 			;; 		i386) 			;; 		*) 			EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; 			;; 	esac; 	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 --version # buildkit
                        
# 2026-04-07 10:16:38  0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=a97d5549e9ad81fe17159ed02c68774ad5d266c72f8d9a0b5a9c371fe85d902b
                        
# 2026-04-07 10:16:38  0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.14.3
                        
# 2026-04-07 10:16:38  9.26MB 执行命令并创建新的镜像层
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-04-07 10:16:38  0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2026-04-06 08:00:00  74.83MB 
# debian.sh --arch 'amd64' out/ 'bookworm' '@1775433600'
                        
                    

镜像信息

{
    "Id": "sha256:568f23db6e7b28128217ae30a88b3999d203e72242a93ade0652e858831fe6f6",
    "RepoTags": [
        "ghcr.io/learnhouse/app:1.2.2",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/learnhouse/app:1.2.2"
    ],
    "RepoDigests": [
        "ghcr.io/learnhouse/app@sha256:74bd882628fb1bf13781d7cf685ec24f35bfe5a0b048db0b1fd012faed44f9f7",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/learnhouse/app@sha256:85ed2564c4948438fb5c4b3bf76f5346f3b14c55345cd8c7f35bbe5dff60b93a"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-05-21T21:43:47.364567308Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "4000/tcp": {},
            "80/tcp": {},
            "9000/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/root/.bun/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "PYTHON_VERSION=3.14.3",
            "PYTHON_SHA256=a97d5549e9ad81fe17159ed02c68774ad5d266c72f8d9a0b5a9c371fe85d902b",
            "PORT=8000",
            "LEARNHOUSE_PORT=9000",
            "COLLAB_PORT=4000",
            "HOSTNAME=0.0.0.0",
            "LEARNHOUSE_OSS=true",
            "NEXT_PUBLIC_LEARNHOUSE_OSS=true"
        ],
        "Cmd": [
            "sh",
            "/app/start.sh"
        ],
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/app",
        "Entrypoint": null,
        "OnBuild": null,
        "Labels": null
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 1379517517,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/1cebc5dc6072751e175c80c70caba7385ca91a8fdd673d6d5547d233520cacf6/diff:/var/lib/docker/overlay2/2dabdae65bcbb83bc02d7e3424181450343761666f72ad2ec485fe7a71d4966b/diff:/var/lib/docker/overlay2/73670cb29132f94309d7b26cd95be1961ba1f0839f040b3f1075f91c91efe444/diff:/var/lib/docker/overlay2/524ab29b51bd2030420b9e7206f8599ae166a8190e37ba1a8d02a0e45b8eda42/diff:/var/lib/docker/overlay2/074c8e40a82e0c31880461d23a91466183afd256fb8d26146a7b1272f0f968b9/diff:/var/lib/docker/overlay2/04b36a5ed503435d604e8276c286fa8cdbdedf94f98634903f39078d97aaeb93/diff:/var/lib/docker/overlay2/cb87a03736560a0016255b81cfe54ae284107c96e2864bc899dd3afc13ca4ec1/diff:/var/lib/docker/overlay2/b11f84d4184f9cf5f051d325ed277519e34fa0c8a847a57102e140ba0d713a87/diff:/var/lib/docker/overlay2/c217b80f27c961707474d56793c6fc471e690c97c53957727dbc2df80e955a52/diff:/var/lib/docker/overlay2/af11eaf4f24bd8dc623307f5be34c1f6939a52edac06b41914b44f3a1b89ec72/diff:/var/lib/docker/overlay2/fab72fc68c4c9375447122317fca29e4f5950dc0e0099df2a591bbc2ca18a949/diff:/var/lib/docker/overlay2/8c595be2803e83a1c970fee345f33fdd96157d9105fabd22ed54aeacdfd696b9/diff:/var/lib/docker/overlay2/ad7c8615925b90ab8e40c8478cd0348e67c7d72249a15a81ee64fb77683d6d4b/diff:/var/lib/docker/overlay2/853d8ef43c5997526d47ecc538f6c61c35aa96f64d4976ac6dcd4185a764611f/diff:/var/lib/docker/overlay2/daf49aae056a0cf1ca8e20508e7196e79c3e95887d6936dd6b3b4e7af93f60c7/diff:/var/lib/docker/overlay2/0d418c1310d155fffdceb4172a1737f62978e1654f155029d5ffed3ea6dce5e8/diff:/var/lib/docker/overlay2/9f67cb9dd1dca35037682066fe694293231ec68faf81a362417ca86662ef579b/diff:/var/lib/docker/overlay2/b34a2f06b5183fbf0038e04444d8359770bbae962ce0326d4484256a0584b098/diff:/var/lib/docker/overlay2/a3d6da37fc1a80bcdf27b467ab53fbd78923ca49c0a86db9c9a643ce471d792f/diff",
            "MergedDir": "/var/lib/docker/overlay2/77c9096353e393e1f4df6feb171d5f3da30a6b7e5220a94abdce7aca9f65c3e8/merged",
            "UpperDir": "/var/lib/docker/overlay2/77c9096353e393e1f4df6feb171d5f3da30a6b7e5220a94abdce7aca9f65c3e8/diff",
            "WorkDir": "/var/lib/docker/overlay2/77c9096353e393e1f4df6feb171d5f3da30a6b7e5220a94abdce7aca9f65c3e8/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:335fc45cf5e8eaa6d5b19a54b16db34311ce0d7a068eb2a9222eab4ddd3c216d",
            "sha256:593e745a46ef3e8e8c95c7796042275dcffd2f45d45bf6ff251679cb89140cdc",
            "sha256:6650fd9c513b12d7ff4a83b8cd7ced9eb3dfcaadc19f930019195a1b70db64a7",
            "sha256:55d7b61e3455536d6f29868188764f1ff70090ecafe8b9ba4f36e571ed05c497",
            "sha256:e6ff613673583168e1162e84a358b47e47f427e6f0f2b79c3be493b359324c37",
            "sha256:7e8c1d9b75d5fd9dcc02c3ad4d0101dbadc70aabcba7df5eceb2346b474116e0",
            "sha256:9eb0669788250348a0e8366a868d282079126bbd34e660183ab0efaaa2c89408",
            "sha256:5f722369e5b71ab5483a8bcef3311ab49f6169a171a39b3e02367d5a4b13fb80",
            "sha256:04bbb5c53c77d0ee1adbe5ebd6996a33b45900eeda0d76c79daaca60fa88efc7",
            "sha256:45f80b73d3176c1d85a2c388abd3900d315f2ade106b189bd51b01409cf0e06a",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:03e3760b20aa16c8a281e5269aeed8795826143e6e57e473876980a710423464",
            "sha256:645312b8492d3ea76aceb114c91290f9a2256b99782caa7dcd8494661a164445",
            "sha256:9138df9928bc5b923c9b1b939d3e07f8deb90e563961827f5de5714be23fc542",
            "sha256:d5f9467e46250dd7922a2be9a83225a36283e2c3bb8dbd9b6df9b2df4ea0a8a8",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:3f38f7049dd96ad8907ee686f27d6e9313e23f9a5c3858d6ae059c2388b7d30a",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:d1f3b1c79e1c9927ab23469068fb38b9ebf1be50106e747e45e4b5cd276edb1b",
            "sha256:07ba2439506d67e2a0dbed59fbf749234e3affb21ad208d16f7811de23bc0feb"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-06-18T17:12:46.000774954+08:00"
    }
}

更多版本

ghcr.io/learnhouse/app:1.2.2

linux/amd64 ghcr.io1.38GB2026-06-18 17:13
16