广告图片

docker.io/lthub/moodle:education-4.5.10 linux/amd64

docker.io/lthub/moodle:education-4.5.10 - 国内下载镜像源 浏览次数:27

docker.io/lthub/moodle镜像是Moodle学习管理系统的容器化版本,提供便捷的部署方式以运行Moodle平台,适用于教育机构、企业培训等场景,支持在线课程管理、学习资源发布、师生互动交流等功能。

源镜像 docker.io/lthub/moodle:education-4.5.10
国内镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10
镜像ID sha256:7d8fe56a4d671ff01370828232c85b1eeff41b61f4cd3b73f096e3585381adf5
镜像TAG education-4.5.10
大小 1.22GB
镜像源 docker.io
项目信息 Docker-Hub主页 🚀项目TAG 🚀
CMD apachectl -e info -D FOREGROUND
启动入口 /docker-entrypoint.sh
工作目录 /var/www/html
OS/平台 linux/amd64
浏览量 27 次
贡献者
镜像创建 2026-03-07T00:14:38.619457905Z
同步时间 2026-04-29 00:17
开放端口
80/tcp
目录挂载
/moodledata
环境变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c PHP_INI_DIR=/usr/local/etc/php APACHE_CONFDIR=/etc/apache2 APACHE_ENVVARS=/etc/apache2/envvars PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 PHP_LDFLAGS=-Wl,-O1 -pie GPG_KEYS=1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA PHP_VERSION=8.3.30 PHP_URL=https://www.php.net/distributions/php-8.3.30.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.3.30.tar.xz.asc PHP_SHA256=67f084d36852daab6809561a7c8023d130ca07fc6af8fb040684dd1414934d48 MOODLE_VERSION=4.5.10 UPLOAD_MAX_FILESIZE=20M PHP_MEMORY_LIMIT=128M PHP_MAX_EXECUTION_TIME=30 PHP_MAX_INPUT_VARS=6000
镜像标签
Tyler Cinkant <tyler.cinkant@ubc.ca>: maintainer

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10  docker.io/lthub/moodle:education-4.5.10

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10  docker.io/lthub/moodle:education-4.5.10

Shell快速替换命令

sed -i 's#lthub/moodle:education-4.5.10#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10  docker.io/lthub/moodle:education-4.5.10'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10  docker.io/lthub/moodle:education-4.5.10'

镜像构建历史


# 2026-03-07 08:14:38  40.12MB 执行命令并创建新的镜像层
RUN /bin/sh -c chown -R www-data /var/www/html # buildkit
                        
# 2026-03-07 08:14:14  40.12MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux;     cd /plugins;     for zip in *.zip; do         echo "Processing $zip...";         type="${zip%%_*}";         name="${zip#*_}";         name="${name%.zip}";                 dest="/var/www/html/${type}/${name}";                 case "$type" in             antivirus) dest="/var/www/html/lib/antivirus";;             assignfeedback) dest="/var/www/html/mod/assign/feedback";;             assignsubmission) dest="/var/www/html/mod/assign/submission";;             atto) dest="/var/www/html/lib/editor/atto/plugins";;             auth) dest="/var/www/html/auth";;             availability) dest="/var/www/html/availability/condition";;             block) dest="/var/www/html/blocks";;             booktool) dest="/var/www/html/mod/book/tool";;             cachelock) dest="/var/www/html/cache/locks";;             cachestore) dest="/var/www/html/cache/stores";;             calendartype) dest="/var/www/html/calendar/type";;             contenttype) dest="/var/www/html/contentbank/contenttype";;             coursereport) dest="/var/www/html/course/report";;             customfield) dest="/var/www/html/customfield/field";;             datafield) dest="/var/www/html/mod/data/field";;             dataformat) dest="/var/www/html/dataformat";;             datapreset) dest="/var/www/html/mod/data/preset";;             editor) dest="/var/www/html/lib/editor";;             enrol) dest="/var/www/html/enrol";;             fileconverter) dest="/var/www/html/files/converter";;             filter) dest="/var/www/html/filter";;             format) dest="/var/www/html/course/format";;             forumreport) dest="/var/www/html/mod/forum/report";;             gradeexport) dest="/var/www/html/grade/export";;             gradeimport) dest="/var/www/html/grade/import";;             gradereport) dest="/var/www/html/grade/report";;             gradingform) dest="/var/www/html/grade/grading/form";;             h5plib) dest="/var/www/html/h5p/h5plib";;             local) dest="/var/www/html/local";;             logstore) dest="/var/www/html/admin/tool/log/store";;             ltiservice) dest="/var/www/html/mod/lti/service";;             ltisource) dest="/var/www/html/mod/lti/source";;             media) dest="/var/www/html/media/player";;             message) dest="/var/www/html/message/output";;             mlbackend) dest="/var/www/html/lib/mlbackend";;             mnetservice) dest="/var/www/html/mnet/service";;             mod) dest="/var/www/html/mod";;             plagiarism) dest="/var/www/html/plagiarism";;             portfolio) dest="/var/www/html/portfolio";;             profilefield) dest="/var/www/html/user/profile/field";;             qbank) dest="/var/www/html/question/bank";;             qbehaviour) dest="/var/www/html/question/behaviour";;             qformat) dest="/var/www/html/question/format";;             qtype) dest="/var/www/html/question/type";;             quiz) dest="/var/www/html/mod/quiz/report";;             quizaccess) dest="/var/www/html/mod/quiz/accessrule";;             report) dest="/var/www/html/report";;             repository) dest="/var/www/html/repository";;             scormreport) dest="/var/www/html/mod/scorm/report";;             search) dest="/var/www/html/search/engine";;             theme) dest="/var/www/html/theme";;             tool) dest="/var/www/html/admin/tool";;             webservice) dest="/var/www/html/webservice";;             workshopallocation) dest="/var/www/html/mod/workshop/allocation";;             workshopeval) dest="/var/www/html/mod/workshop/eval";;             workshopform) dest="/var/www/html/mod/workshop/form";;         esac;                 echo " → Installing into $dest";         mkdir -p "$dest";         unzip -q "$zip" -d "$dest";     done;     rm -rf /plugins # buildkit
                        
# 2026-03-07 08:14:14  15.83MB 复制新文件或目录到容器中
COPY plugins/ /plugins/ # buildkit
                        
# 2026-03-07 08:14:14  0.00B 添加元数据标签
LABEL maintainer=Tyler Cinkant <tyler.cinkant@ubc.ca>
                        
# 2026-02-20 01:54:10  0.00B 设置默认要执行的命令
CMD ["apachectl" "-e" "info" "-D" "FOREGROUND"]
                        
# 2026-02-20 01:54:10  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
                        
# 2026-02-20 01:54:10  0.00B 声明容器运行时监听的端口
EXPOSE [80/tcp]
                        
# 2026-02-20 01:54:10  0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/moodledata]
                        
# 2026-02-20 01:54:10  262.91KB 执行命令并创建新的镜像层
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c chown -R www-data /var/www/html # buildkit
                        
# 2026-02-20 01:53:54  212.92KB 执行命令并创建新的镜像层
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c set -eux;     cd /plugins; 	set -- *.zip; [ -e "$1" ] || set --;    for zip in "$@"; do         echo "Processing $zip...";         type="${zip%%_*}";         name="${zip#*_}";         name="${name%.zip}";                 dest="/var/www/html/${type}/${name}";                 case "$type" in             antivirus) dest="/var/www/html/lib/antivirus";;             assignfeedback) dest="/var/www/html/mod/assign/feedback";;             assignsubmission) dest="/var/www/html/mod/assign/submission";;             atto) dest="/var/www/html/lib/editor/atto/plugins";;             auth) dest="/var/www/html/auth";;             availability) dest="/var/www/html/availability/condition";;             block) dest="/var/www/html/blocks";;             booktool) dest="/var/www/html/mod/book/tool";;             cachelock) dest="/var/www/html/cache/locks";;             cachestore) dest="/var/www/html/cache/stores";;             calendartype) dest="/var/www/html/calendar/type";;             contenttype) dest="/var/www/html/contentbank/contenttype";;             coursereport) dest="/var/www/html/course/report";;             customfield) dest="/var/www/html/customfield/field";;             datafield) dest="/var/www/html/mod/data/field";;             dataformat) dest="/var/www/html/dataformat";;             datapreset) dest="/var/www/html/mod/data/preset";;             editor) dest="/var/www/html/lib/editor";;             enrol) dest="/var/www/html/enrol";;             fileconverter) dest="/var/www/html/files/converter";;             filter) dest="/var/www/html/filter";;             format) dest="/var/www/html/course/format";;             forumreport) dest="/var/www/html/mod/forum/report";;             gradeexport) dest="/var/www/html/grade/export";;             gradeimport) dest="/var/www/html/grade/import";;             gradereport) dest="/var/www/html/grade/report";;             gradingform) dest="/var/www/html/grade/grading/form";;             h5plib) dest="/var/www/html/h5p/h5plib";;             local) dest="/var/www/html/local";;             logstore) dest="/var/www/html/admin/tool/log/store";;             ltiservice) dest="/var/www/html/mod/lti/service";;             ltisource) dest="/var/www/html/mod/lti/source";;             media) dest="/var/www/html/media/player";;             message) dest="/var/www/html/message/output";;             mlbackend) dest="/var/www/html/lib/mlbackend";;             mnetservice) dest="/var/www/html/mnet/service";;             mod) dest="/var/www/html/mod";;             plagiarism) dest="/var/www/html/plagiarism";;             portfolio) dest="/var/www/html/portfolio";;             profilefield) dest="/var/www/html/user/profile/field";;             qbank) dest="/var/www/html/question/bank";;             qbehaviour) dest="/var/www/html/question/behaviour";;             qformat) dest="/var/www/html/question/format";;             qtype) dest="/var/www/html/question/type";;             quiz) dest="/var/www/html/mod/quiz/report";;             quizaccess) dest="/var/www/html/mod/quiz/accessrule";;             report) dest="/var/www/html/report";;             repository) dest="/var/www/html/repository";;             scormreport) dest="/var/www/html/mod/scorm/report";;             search) dest="/var/www/html/search/engine";;             theme) dest="/var/www/html/theme";;             tool) dest="/var/www/html/admin/tool";;             webservice) dest="/var/www/html/webservice";;             workshopallocation) dest="/var/www/html/mod/workshop/allocation";;             workshopeval) dest="/var/www/html/mod/workshop/eval";;             workshopform) dest="/var/www/html/mod/workshop/form";;         esac;                 echo " → Installing into $dest";         mkdir -p "$dest";         unzip -q "$zip" -d "$dest";     done;     rm -rf /plugins # buildkit
                        
# 2026-02-20 01:53:54  94.37KB 复制新文件或目录到容器中
COPY plugins/ /plugins/ # buildkit
                        
# 2026-02-20 01:53:54  195.00B 复制新文件或目录到容器中
COPY custom-php.ini /usr/local/etc/php/conf.d/ # buildkit
                        
# 2026-02-20 01:53:54  8.74KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh /docker-entrypoint.sh # buildkit
                        
# 2026-02-20 01:53:54  49.99KB 复制新文件或目录到容器中
COPY config.php /var/www/html/ # buildkit
                        
# 2026-02-20 01:53:54  46.96KB 执行命令并创建新的镜像层
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c set -eux;     a2enmod rewrite expires;         a2enmod remoteip;     {         echo 'RemoteIPHeader X-Forwarded-For';         echo 'RemoteIPTrustedProxy 10.0.0.0/8';         echo 'RemoteIPTrustedProxy 172.16.0.0/12';         echo 'RemoteIPTrustedProxy 192.168.0.0/16';         echo 'RemoteIPTrustedProxy 169.254.0.0/16';         echo 'RemoteIPTrustedProxy 127.0.0.0/8';      } > /etc/apache2/conf-available/remoteip.conf;     a2enconf remoteip;     find /etc/apache2 -type f -name '*.conf' -exec sed -ri 's/([[:space:]]*LogFormat[[:space:]]+"[^"]*)%h([^"]*")/\1%a\2/g' '{}' + # buildkit
                        
# 2026-02-20 01:53:54  150.00B 执行命令并创建新的镜像层
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c {         echo 'opcache.memory_consumption=128';         echo 'opcache.interned_strings_buffer=8';         echo 'opcache.max_accelerated_files=4000';         echo 'opcache.revalidate_freq=2';         echo 'opcache.fast_shutdown=1';      } > /usr/local/etc/php/conf.d/opcache-recommended.ini # buildkit
                        
# 2026-02-20 01:53:53  619.49MB 执行命令并创建新的镜像层
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update     && apt-get -qq install graphviz aspell ghostscript libpspell-dev libpng-dev libicu-dev libxml2-dev libldap2-dev sudo netcat-traditional unzip libssl-dev zlib1g-dev libjpeg-dev libfreetype6-dev libzip-dev     && docker-php-ext-configure gd --with-freetype --with-jpeg     && docker-php-ext-install -j$(nproc) pspell gd intl xml ldap zip soap mysqli opcache exif     && pecl install redis     && docker-php-ext-enable redis     && docker-php-ext-enable exif     && curl -L https://github.com/moodle/moodle/archive/v${MOODLE_VERSION}.tar.gz | tar xz --strip=1     && mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"     && mkdir -p /moodledata /var/local/cache     && chown -R www-data /moodledata     && chmod -R 777 /moodledata /var/local/cache     && chmod -R 0755 /var/www/html     && chown -R www-data /var/www/html     && mkdir /docker-entrypoint.d # buildkit
                        
# 2026-02-20 01:51:33  0.00B 设置工作目录为/var/www/html
WORKDIR /var/www/html
                        
# 2026-02-20 01:51:33  0.00B 定义构建参数
ARG DEBIAN_FRONTEND=noninteractive
                        
# 2026-02-20 01:51:33  0.00B 设置环境变量 PHP_MAX_INPUT_VARS
ENV PHP_MAX_INPUT_VARS=6000
                        
# 2026-02-20 01:51:33  0.00B 设置环境变量 PHP_MAX_EXECUTION_TIME
ENV PHP_MAX_EXECUTION_TIME=30
                        
# 2026-02-20 01:51:33  0.00B 设置环境变量 PHP_MEMORY_LIMIT
ENV PHP_MEMORY_LIMIT=128M
                        
# 2026-02-20 01:51:33  0.00B 设置环境变量 UPLOAD_MAX_FILESIZE
ENV UPLOAD_MAX_FILESIZE=20M
                        
# 2026-02-20 01:51:33  0.00B 设置环境变量 MOODLE_VERSION
ENV MOODLE_VERSION=4.5.10
                        
# 2026-02-20 01:51:33  0.00B 添加元数据标签
LABEL maintainer=Tyler Cinkant <tyler.cinkant@ubc.ca>
                        
# 2026-02-03 10:35:56  0.00B 设置默认要执行的命令
CMD ["apache2-foreground"]
                        
# 2026-02-03 10:35:56  0.00B 声明容器运行时监听的端口
EXPOSE map[80/tcp:{}]
                        
# 2026-02-03 10:35:56  0.00B 设置工作目录为/var/www/html
WORKDIR /var/www/html
                        
# 2026-02-03 10:35:56  1.35KB 复制新文件或目录到容器中
COPY apache2-foreground /usr/local/bin/ # buildkit
                        
# 2026-02-03 10:35:56  0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGWINCH
                        
# 2026-02-03 10:35:56  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-php-entrypoint"]
                        
# 2026-02-03 10:35:56  17.00B 执行命令并创建新的镜像层
RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
                        
# 2026-02-03 10:35:56  23.00B 执行命令并创建新的镜像层
RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
                        
# 2026-02-03 10:35:56  7.22KB 复制新文件或目录到容器中
COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
                        
# 2026-02-03 10:35:56  52.53MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 		savedAptMark="$(apt-mark showmanual)"; 	apt-get update; 	apt-get install -y --no-install-recommends 		apache2-dev 		libargon2-dev 		libcurl4-openssl-dev 		libonig-dev 		libreadline-dev 		libsodium-dev 		libsqlite3-dev 		libssl-dev 		libxml2-dev 		zlib1g-dev 	; 		export 		CFLAGS="$PHP_CFLAGS" 		CPPFLAGS="$PHP_CPPFLAGS" 		LDFLAGS="$PHP_LDFLAGS" 		PHP_BUILD_PROVIDER='https://github.com/docker-library/php' 		PHP_UNAME='Linux - Docker' 	; 	docker-php-source extract; 	cd /usr/src/php; 	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; 	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; 	if [ ! -d /usr/include/curl ]; then 		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; 	fi; 	test "$PHP_INI_DIR" != "${PHP_INI_DIR%/php}"; 	./configure 		--build="$gnuArch" 		--sysconfdir="${PHP_INI_DIR%/php}" 		--with-config-file-path="$PHP_INI_DIR" 		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" 				--enable-option-checking=fatal 				--with-mhash 				--with-pic 				--enable-mbstring 		--enable-mysqlnd 		--with-password-argon2 		--with-sodium=shared 		--with-pdo-sqlite=/usr 		--with-sqlite3=/usr 				--with-curl 		--with-iconv 		--with-openssl 		--with-readline 		--with-zlib 				--disable-phpdbg 				--with-pear 				--with-libdir="lib/$debMultiarch" 				--disable-cgi 				--with-apxs2 	; 	make -j "$(nproc)"; 	find -type f -name '*.a' -delete; 	make install; 	find 		/usr/local 		-type f 		-perm '/0111' 		-exec sh -euxc ' 			strip --strip-all "$@" || : 		' -- '{}' + 	; 	make clean; 		cp -v php.ini-* "$PHP_INI_DIR/"; 		cd /; 	docker-php-source delete; 		apt-mark auto '.*' > /dev/null; 	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; 	find /usr/local -type f -executable -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; 	apt-get dist-clean; 		pecl update-channels; 	rm -rf /tmp/pear ~/.pearrc; 		php --version # buildkit
                        
# 2026-02-03 10:33:23  587.00B 复制新文件或目录到容器中
COPY docker-php-source /usr/local/bin/ # buildkit
                        
# 2026-02-03 10:33:23  13.25MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 		savedAptMark="$(apt-mark showmanual)"; 	apt-get update; 	apt-get install -y --no-install-recommends gnupg; 	apt-get dist-clean; 		mkdir -p /usr/src; 	cd /usr/src; 		curl -fsSL -o php.tar.xz "$PHP_URL"; 		if [ -n "$PHP_SHA256" ]; then 		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; 	fi; 		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; 	export GNUPGHOME="$(mktemp -d)"; 	for key in $GPG_KEYS; do 		gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; 	done; 	gpg --batch --verify php.tar.xz.asc php.tar.xz; 	gpgconf --kill all; 	rm -rf "$GNUPGHOME"; 		apt-mark auto '.*' > /dev/null; 	apt-mark manual $savedAptMark > /dev/null; 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false # buildkit
                        
# 2026-02-03 10:33:14  0.00B 设置环境变量 PHP_SHA256
ENV PHP_SHA256=67f084d36852daab6809561a7c8023d130ca07fc6af8fb040684dd1414934d48
                        
# 2026-02-03 10:33:14  0.00B 设置环境变量 PHP_URL PHP_ASC_URL
ENV PHP_URL=https://www.php.net/distributions/php-8.3.30.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.3.30.tar.xz.asc
                        
# 2026-02-03 10:33:14  0.00B 设置环境变量 PHP_VERSION
ENV PHP_VERSION=8.3.30
                        
# 2026-02-03 10:33:14  0.00B 设置环境变量 GPG_KEYS
ENV GPG_KEYS=1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
                        
# 2026-02-03 10:33:14  0.00B 设置环境变量 PHP_LDFLAGS
ENV PHP_LDFLAGS=-Wl,-O1 -pie
                        
# 2026-02-03 10:33:14  0.00B 设置环境变量 PHP_CPPFLAGS -D_FILE_OFFSET_BITS
ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
                        
# 2026-02-03 10:33:14  0.00B 设置环境变量 PHP_CFLAGS -D_FILE_OFFSET_BITS
ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
                        
# 2026-02-03 10:33:14  237.00B 执行命令并创建新的镜像层
RUN /bin/sh -c { 		echo '<FilesMatch \.php$>'; 		echo '\tSetHandler application/x-httpd-php'; 		echo '</FilesMatch>'; 		echo; 		echo 'DirectoryIndex disabled'; 		echo 'DirectoryIndex index.php index.html'; 		echo; 		echo '<Directory /var/www/>'; 		echo '\tOptions -Indexes'; 		echo '\tAllowOverride All'; 		echo '</Directory>'; 	} | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" 	&& a2enconf docker-php # buildkit
                        
# 2026-02-03 10:33:14  68.00B 执行命令并创建新的镜像层
RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
                        
# 2026-02-03 10:33:13  11.56MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	apt-get update; 	apt-get install -y --no-install-recommends apache2; 	apt-get dist-clean; 		sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; 		. "$APACHE_ENVVARS"; 	for dir in 		"$APACHE_LOCK_DIR" 		"$APACHE_RUN_DIR" 		"$APACHE_LOG_DIR" 		"$APACHE_RUN_DIR/socks" 	; do 		rm -rvf "$dir"; 		mkdir -p "$dir"; 		chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; 		chmod 1777 "$dir"; 	done; 		rm -rvf /var/www/html/*; 		ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; 	ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; 	ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; 	chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR" # buildkit
                        
# 2026-02-03 10:23:01  0.00B 设置环境变量 APACHE_ENVVARS
ENV APACHE_ENVVARS=/etc/apache2/envvars
                        
# 2026-02-03 10:23:01  0.00B 设置环境变量 APACHE_CONFDIR
ENV APACHE_CONFDIR=/etc/apache2
                        
# 2026-02-03 10:23:01  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	mkdir -p "$PHP_INI_DIR/conf.d"; 	[ ! -d /var/www/html ]; 	mkdir -p /var/www/html; 	chown www-data:www-data /var/www/html; 	chmod 1777 /var/www/html # buildkit
                        
# 2026-02-03 10:23:01  0.00B 设置环境变量 PHP_INI_DIR
ENV PHP_INI_DIR=/usr/local/etc/php
                        
# 2026-02-03 10:23:01  347.19MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	apt-get update; 	apt-get install -y --no-install-recommends 		$PHPIZE_DEPS 		ca-certificates 		curl 		xz-utils 	; 	apt-get dist-clean # buildkit
                        
# 2026-02-03 10:23:01  0.00B 设置环境变量 PHPIZE_DEPS
ENV PHPIZE_DEPS=autoconf 		dpkg-dev 		file 		g++ 		gcc 		libc-dev 		make 		pkg-config 		re2c
                        
# 2026-02-03 10:22:44  46.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	{ 		echo 'Package: php*'; 		echo 'Pin: release *'; 		echo 'Pin-Priority: -1'; 	} > /etc/apt/preferences.d/no-debian-php # buildkit
                        
# 2026-02-02 08:00:00  78.62MB 
# debian.sh --arch 'amd64' out/ 'trixie' '@1769990400'
                        
                    

镜像信息

{
    "Id": "sha256:7d8fe56a4d671ff01370828232c85b1eeff41b61f4cd3b73f096e3585381adf5",
    "RepoTags": [
        "lthub/moodle:education-4.5.10",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle:education-4.5.10"
    ],
    "RepoDigests": [
        "lthub/moodle@sha256:c0403e8e6edf86294f319b3c4422e1fabcb1f95ed7904b6eeb21b742a6cb29ae",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/lthub/moodle@sha256:25a6d7ddcbd789ad341cad22f3af667375fdfd24247b44debb2a9e3b42642c53"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-03-07T00:14:38.619457905Z",
    "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/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "PHPIZE_DEPS=autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c",
            "PHP_INI_DIR=/usr/local/etc/php",
            "APACHE_CONFDIR=/etc/apache2",
            "APACHE_ENVVARS=/etc/apache2/envvars",
            "PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
            "PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
            "PHP_LDFLAGS=-Wl,-O1 -pie",
            "GPG_KEYS=1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA",
            "PHP_VERSION=8.3.30",
            "PHP_URL=https://www.php.net/distributions/php-8.3.30.tar.xz",
            "PHP_ASC_URL=https://www.php.net/distributions/php-8.3.30.tar.xz.asc",
            "PHP_SHA256=67f084d36852daab6809561a7c8023d130ca07fc6af8fb040684dd1414934d48",
            "MOODLE_VERSION=4.5.10",
            "UPLOAD_MAX_FILESIZE=20M",
            "PHP_MEMORY_LIMIT=128M",
            "PHP_MAX_EXECUTION_TIME=30",
            "PHP_MAX_INPUT_VARS=6000"
        ],
        "Cmd": [
            "apachectl",
            "-e",
            "info",
            "-D",
            "FOREGROUND"
        ],
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": {
            "/moodledata": {}
        },
        "WorkingDir": "/var/www/html",
        "Entrypoint": [
            "/docker-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "maintainer": "Tyler Cinkant \u003ctyler.cinkant@ubc.ca\u003e"
        },
        "StopSignal": "SIGWINCH"
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 1219377904,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/35d8252a692b4da9072b965925997c414dc2f748a94efe2b880ebfd9822bf730/diff:/var/lib/docker/overlay2/f0e2548f8e608e1384852fc815406daf2a7459b01dc282302ccb9a94a4b110a5/diff:/var/lib/docker/overlay2/b0e6e9cac3aeac34b863d8944d9d0b6b80ec0b181930541f8609ec79d7a56699/diff:/var/lib/docker/overlay2/396a93f5038d51359c6f8089286123450763e46bfa863aaf43a043388568fd6c/diff:/var/lib/docker/overlay2/9975af8e801671f7a8367301c339ba29ad2df4320b67b47db584e43dcfbeb5b2/diff:/var/lib/docker/overlay2/9bdf1717039f14aafb43fadc2f4fcc0deb40b638253918a45eb71296410b239e/diff:/var/lib/docker/overlay2/ca5c24d5a8191598433e6eb5ae5f7fd4584c8def350539b95a2be51dd80d9920/diff:/var/lib/docker/overlay2/b8e3665625854e58921cf4c41f14a98ae1ef2f5919c83675ff13d4df40233897/diff:/var/lib/docker/overlay2/fbc8eb466c71c382853d165ffcf4ca0e920486cbce707bb78ae3170a640f9bc5/diff:/var/lib/docker/overlay2/b459b331c0eb1437ad7a0d34fd7414b3f93ba73134fabf39bc7103701b83eafc/diff:/var/lib/docker/overlay2/c49e429ec02092326a1d73134b898fd7dc08a0ecf421301774e58783943c2d1f/diff:/var/lib/docker/overlay2/1733f625808394f61408ddcdd4730e7e9fb629947cd7030a09a1bd1265f41b28/diff:/var/lib/docker/overlay2/3008df76627259ce5a1f93248af37ce66c7bf9e39b50bf1eefaebe8a70cc7e5a/diff:/var/lib/docker/overlay2/0e0cd65ad5d1f1e6386548268e3b2b15be5352cafca78fb8b85e8512ea71136e/diff:/var/lib/docker/overlay2/6653f92224fef99a2664a515e813b89d9a1a80248e71b33df5155f23d8482f8a/diff:/var/lib/docker/overlay2/c74113c443fd2737426c606b314a425ad914f89ea0c0db9659f9872e741afedb/diff:/var/lib/docker/overlay2/6c0f08d1d34e9098f8a2cf7382c123abab7ac4e6c59e1e7b888d106a0f044a25/diff:/var/lib/docker/overlay2/9a1731bc876ceea4b1d330c81c3db7545694cfd6792a1f9a7a275bbe1a2a7832/diff:/var/lib/docker/overlay2/1b166ac642270463617b131ef3d90fae4c5ab0c250c9c6f2e38fcd1598e5cbbf/diff:/var/lib/docker/overlay2/0238cd7bf778dcacce32e8fdc07a64e0134b33077af31870bb7484ac35c7f342/diff:/var/lib/docker/overlay2/bf1ddf8a1d97756905c8a462334a980da823893e049b89dfc7ec5672510879db/diff:/var/lib/docker/overlay2/4f448c5ab323a9ddd402c0024c0da231170ac0f43690e36add535eef899c0cea/diff:/var/lib/docker/overlay2/cd5678611b2b9963faa5a819a3d856eea87d6c6366d66f0972507da938620ecb/diff:/var/lib/docker/overlay2/f8e1586a73edbdbdf678aa2de6e27a7afef178893d0f8c092b8bf5ec213d18d4/diff:/var/lib/docker/overlay2/6c2b50c81e09cc8182cca52a462d47127480da53f6653f58cc4d18441a4c3d79/diff:/var/lib/docker/overlay2/a78a4fdf1fd76b25cecebc3b5344a30b1c2e623e7f9f8025ee77f2c6d3a6b9fc/diff:/var/lib/docker/overlay2/85cceae9ff762a7ae10aa510ac42c5f859ca2d5b338720c84ae6e0a94a77324b/diff",
            "MergedDir": "/var/lib/docker/overlay2/28be353ecd1a3ca23dbf3ec57b5d1fab50d46acffa1a84839fcdf155f8bfdc52/merged",
            "UpperDir": "/var/lib/docker/overlay2/28be353ecd1a3ca23dbf3ec57b5d1fab50d46acffa1a84839fcdf155f8bfdc52/diff",
            "WorkDir": "/var/lib/docker/overlay2/28be353ecd1a3ca23dbf3ec57b5d1fab50d46acffa1a84839fcdf155f8bfdc52/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:a8ff6f8cbdfd6741c10dd183560df7212db666db046768b0f05bbc3904515f03",
            "sha256:787e7f31ee7b56edf6ca406059d4b2a7c4446df1d4e68916a48f910170e59d66",
            "sha256:5efc55c1a9aee4deab6570f9facae35b19bc8d9b7eafb40f6f1d7e7dd8a69286",
            "sha256:5173befb09b127feae200bd8634021526c114c4fa3af2986cbbae957820fa0f3",
            "sha256:415e2f929025955d435cec44adb8eec92ea51816b2cc45ea89e5ff6d61fa9404",
            "sha256:22b8fa9030dc07eac27abc74308299ec29ae6c6f7cae8520bc8e245c2b0b0801",
            "sha256:3c64eb5b586bd79e32918b4320443f3e3d5fae3cadc7dcfbbfefba2e00c0f6df",
            "sha256:a56e767964bdf22c6c0f078ebd657c46010e283a422e29898bb931240441fc3a",
            "sha256:345ff9295850b08a06ab718ec49e9958bcb20659a39d506d9e9b94243118ad6d",
            "sha256:95858ccc7a05408e3a7d2c938662ca78378642a5d86c80051d2d90113ef3710b",
            "sha256:01df8543ba5e4a1867adf4681f07ae0e07fc197760596a0ad34351532407aabf",
            "sha256:f04dbcceb124212f48d35dc71b70e9d9b01643a76022b15d3273bda65cce17be",
            "sha256:5b98424117ee7c900cb57cd22b7112f8e678ede945f1df115a834f717297ecf4",
            "sha256:5d71a51a1b11e5aeff84ebd77504aeb301916aa689448b60f3882c4c0295e0a7",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:24564343765bd748154292988fd1951131352d916b6d63938a3a5f2c0b972236",
            "sha256:095e246fb6972db4a84c4d74f1e5eb821cf374fe43c370dded21df3a1ce9c6c9",
            "sha256:9236d3ff236332e6d804ca121ced15311e308875f72bb196bf2649085d56ce99",
            "sha256:115b804a987460b6a5ae1d53951b67ac8368070d1cdfe9dbf6dc770b4ce0a13e",
            "sha256:986d3dcb930af5a744a2bfb40767cdf35c1d56378c7c292ff20ac04aaec60dcf",
            "sha256:4a476c3d5445b56115a91d9e9ae6fb7795129cf932cd610049d790d9de333f49",
            "sha256:c74f0fecfd3f2b09d06b4f870d238ddbc792a7c87c5d566afddb62bcd05c22dc",
            "sha256:f157c11a236c9e87e9429fabeec8cd0efef20e87d2b7e1173bad083103b1c74b",
            "sha256:30cc7feb5b942fd65f182d04ecdb50f7f0b6668a8bf80c5bbd7ef0d5a2ead6e0",
            "sha256:a53762737ddcc3de178738990f93cbfb3cb87191c6e181817dc269ea0b131c38",
            "sha256:ac1f2055d6697f4fad437268283b211378e31cd1531c956779763a721a07bc71",
            "sha256:9163c09c03ff380eb9e70e1f4c4adf7e0d86101193ad7c2d1074b538e7d0e103"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-04-29T00:15:29.41967005+08:00"
    }
}

更多版本

docker.io/lthub/moodle:education-4.5.10

linux/amd64 docker.io1.22GB2026-04-29 00:17
26