镜像构建历史
# 0001-01-01 08:00:00 12.63KB 执行命令并创建新的镜像层
RUN chmod 0644 /etc/supervisor/conf.d/* && chmod 0755 /docker-entrypoint.sh && chmod 0755 /passbolt/* && chmod 0755 /usr/bin/wait-for.sh
# 0001-01-01 08:00:00 4.08KB 复制新文件或目录到容器中
COPY scripts/wait-for.sh /usr/bin/wait-for.sh
# 0001-01-01 08:00:00 1.51KB 复制新文件或目录到容器中
COPY scripts/entrypoint/passbolt/deprecated_paths.sh /passbolt/deprecated_paths.sh
# 0001-01-01 08:00:00 2.09KB 复制新文件或目录到容器中
COPY scripts/entrypoint/passbolt/env.sh /passbolt/env.sh
# 0001-01-01 08:00:00 3.31KB 复制新文件或目录到容器中
COPY scripts/entrypoint/passbolt/entrypoint-rootless.sh /passbolt/entrypoint-rootless.sh
# 0001-01-01 08:00:00 1.07KB 复制新文件或目录到容器中
COPY scripts/entrypoint/docker-entrypoint.rootless.sh /docker-entrypoint.sh
# 0001-01-01 08:00:00 190.00B 复制新文件或目录到容器中
COPY conf/php/zz-docker.conf /etc/php/$PHP_VERSION/fpm/pool.d/zz-docker.conf
# 0001-01-01 08:00:00 55.01KB 执行命令并创建新的镜像层
RUN sed -i 's,listen 80;,listen 8080;,' /etc/nginx/sites-enabled/nginx-passbolt.conf && sed -i 's,listen \[\:\:\]\:80;,listen \[\:\:\]\:8080;,' /etc/nginx/sites-enabled/nginx-passbolt.conf && rm /etc/nginx/sites-enabled/default && cp /usr/share/passbolt/examples/nginx-passbolt-ssl.conf /etc/nginx/snippets/passbolt-ssl.conf && sed -i 's,;clear_env = no,clear_env = no,' /etc/php/$PHP_VERSION/fpm/pool.d/www.conf && sed -i 's,# include __PASSBOLT_SSL__,include /etc/nginx/snippets/passbolt-ssl.conf;,' /etc/nginx/sites-enabled/nginx-passbolt.conf && sed -i 's,listen \[\:\:\]\:443 ssl http2;,listen \[\:\:\]\:4433 ssl http2;,' /etc/nginx/snippets/passbolt-ssl.conf && sed -i '/listen \[\:\:\]\:4433 ssl http2;/a \ \ listen 4433 ssl http2;' /etc/nginx/snippets/passbolt-ssl.conf && sed -i 's,__CERT_PATH__,/etc/passbolt/certs/certificate.crt;,' /etc/nginx/snippets/passbolt-ssl.conf && sed -i 's,__KEY_PATH__,/etc/passbolt/certs/certificate.key;,' /etc/nginx/snippets/passbolt-ssl.conf && sed -i '/user www-data;/d' /etc/nginx/nginx.conf && sed -i 's,/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && sed -i "s,listen = /run/php/php$PHP_VERSION-fpm.sock,listen = 127.0.0.1:9000," /etc/php/$PHP_VERSION/fpm/pool.d/www.conf && sed -i "s,unix:/run/php/php$PHP_VERSION-fpm.sock,127.0.0.1:9000," /etc/nginx/sites-enabled/nginx-passbolt.conf && sed -i "s,pid = /run/php/php$PHP_VERSION-fpm.pid,pid = /tmp/php$PHP_VERSION-fpm.pid," /etc/php/$PHP_VERSION/fpm/php-fpm.conf && sed -i 's,/var/run/supervisor.sock,/tmp/supervisor.sock,' /etc/supervisor/supervisord.conf && chown -R www-data:0 /etc/nginx && chmod -R g+w /etc/nginx && mkdir /etc/passbolt/certs && chown www-data:0 /etc/passbolt/certs && chown www-data:0 /etc/passbolt/jwt && chown www-data:0 /var/log/supervisor && chown www-data:0 /etc/supervisor/conf.d/cron.conf && chown www-data:0 /etc/supervisor/conf.d/php.conf && chown www-data:0 /etc/supervisor/conf.d/nginx.conf && chown -R www-data:0 /var/log/nginx && ln -sf /dev/stdout /var/log/nginx/passbolt-access.log && ln -sf /dev/stderr /var/log/nginx/passbolt-error.log && chown -R www-data:0 /var/log/supervisor && chown -R www-data:0 /var/log/passbolt && chmod -R g+w /var/log/passbolt && touch /var/www/.profile && chown www-data:www-data /var/www/.profile && sed -i 's,www-data\s,,' /etc/cron.d/$PASSBOLT_PKG && sed -i "s,__PASSBOLT_PACKAGE__,$PASSBOLT_PKG," /etc/supervisor/conf.d/cron.conf && touch /etc/environment && chown www-data:www-data /etc/environment && chmod 600 /etc/environment
# 0001-01-01 08:00:00 172.00B 复制新文件或目录到容器中
COPY conf/supervisor/php.conf /etc/supervisor/conf.d/php.conf
# 0001-01-01 08:00:00 190.00B 复制新文件或目录到容器中
COPY conf/supervisor/nginx.conf /etc/supervisor/conf.d/nginx.conf
# 0001-01-01 08:00:00 216.00B 复制新文件或目录到容器中
COPY conf/supervisor/cron.conf.rootless /etc/supervisor/conf.d/cron.conf
# 0001-01-01 08:00:00 295.78MB 执行命令并创建新的镜像层
RUN apt-get update && DEBIAN_FRONTEND=non-interactive apt-get -y install ca-certificates gnupg curl && curl -s $PASSBOLT_SERVER_KEY/pub.key | gpg --dearmor | tee $PASSBOLT_REPO_KEY_PATH > /dev/null && chmod 644 $PASSBOLT_REPO_KEY_PATH && echo -e "Types: deb \nURIs: $PASSBOLT_REPO_URL/$PASSBOLT_FLAVOUR/debian \nSuites: $PASSBOLT_DISTRO \nComponents: $PASSBOLT_COMPONENT \nSigned-By: $PASSBOLT_REPO_KEY_PATH" > $PASSBOLT_SOURCES_LIST_PATH && apt-get update && DEBIAN_FRONTEND=non-interactive apt-get -y install --no-install-recommends nginx $PASSBOLT_PKG supervisor && rm -f /etc/passbolt/jwt/* && curl -fsSLO "$SUPERCRONIC_URL" && echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - && chmod +x "$SUPERCRONIC" && mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" && ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic
# 0001-01-01 08:00:00 868.00B 执行命令并创建新的镜像层
RUN usermod -u $PASSBOLT_USER_UID www-data && groupmod -g $PASSBOLT_GROUP_GID www-data
# 2026-02-02 08:00:00 100.50MB
# debian.sh --arch 'arm64' out/ 'trixie' '@1769990400'
镜像信息
{
"Id": "sha256:d485c1d38bad6d95ca84ea5774ae86bb2699e05b1188d880882e5021a53c4bb5",
"RepoTags": [
"passbolt/passbolt:5.9.0-1-ce-non-root",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/passbolt/passbolt:5.9.0-1-ce-non-root-linuxarm64"
],
"RepoDigests": [
"passbolt/passbolt@sha256:bbf5810d3516c96e2c6acef3c2b00859e2a6dda7b4f0dc5f54cc5e04945776c2",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/passbolt/passbolt@sha256:53c086c06a31cab359fc7758b339a5a2201c47433041c3c2e5b6fac4357f4db2"
],
"Parent": "",
"Comment": "",
"Created": "2026-02-19T14:46:57.722117588Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "www-data",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"4433/tcp": {},
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PASSBOLT_PKG_KEY=0xDE8B853FC155581D",
"PHP_VERSION=8.4",
"GNUPGHOME=/var/lib/passbolt/.gnupg",
"SUPERCRONIC_VERSION=0.2.39",
"SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.39/supercronic-linux-arm64",
"SUPERCRONIC=supercronic-linux-arm64",
"PASSBOLT_FLAVOUR=ce",
"LOG_ERROR_URL=console://?levels[]=warning\u0026levels[]=error\u0026levels[]=critical\u0026levels[]=alert\u0026levels[]=emergency"
],
"Cmd": [
"/docker-entrypoint.sh"
],
"Image": "",
"Volumes": null,
"WorkingDir": "/usr/share/php/passbolt",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"org.opencontainers.image.authors": "Passbolt SA \u003ccontact@passbolt.com\u003e",
"org.opencontainers.image.created": "2026-02-19T14:45:28Z",
"org.opencontainers.image.description": "Passbolt CE Backend, a JSON API written with CakePHP",
"org.opencontainers.image.documentation": "https://help.passbolt.com/",
"org.opencontainers.image.licenses": "AGPL-3.0-only",
"org.opencontainers.image.source": "https://github.com/passbolt/passbolt_api",
"org.opencontainers.image.title": "passbolt/passbolt",
"org.opencontainers.image.url": "https://passbolt.com"
},
"Shell": [
"/bin/bash",
"-o",
"pipefail",
"-c"
]
},
"Architecture": "arm64",
"Variant": "v8",
"Os": "linux",
"Size": 396359394,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/231d1a0345d3c41873853b42c75a8eb92281c10035725c2e0a4ea86943ca9e0b/diff:/var/lib/docker/overlay2/e0a50836e5d317d549a22a3fafde1847e9a798f45e2f6ab07bdc2fc26185c70a/diff:/var/lib/docker/overlay2/33aeb3bf4a146190e2cee59b3662145489857dc4e9e9bf33de56a935fe3ebdef/diff:/var/lib/docker/overlay2/f367f776d0206a1a76bf5dc0ebf94524405c7470bee7091bc184afbcda4aa824/diff:/var/lib/docker/overlay2/61b64399bad31ef7c3a589f16d0cf9834e8932085f0f09b26f3145c12504d9ba/diff:/var/lib/docker/overlay2/b3612eae61fcc888ca3645520348a4bdbfad41843ad7df2b7ab411328875b891/diff:/var/lib/docker/overlay2/96c61e4a26c285205447249105ee63a5d98295781891efbd5043fde7f8074fe9/diff:/var/lib/docker/overlay2/394140e49a0a24d95709353b1a24c5ca77ad99895cd42ec38e53a390c7a24a82/diff:/var/lib/docker/overlay2/0b92ab15726ad2158d86e6112120d110ce0dbebc82ea111eeb23a94b9cae83dc/diff:/var/lib/docker/overlay2/91f911658509ce6abebd4eb877e6e50203e9af9c14b70f2c5f0f4eaec4f02796/diff:/var/lib/docker/overlay2/b950c236527042c99755ec016cc2e3fe42957b3b417ee6b62892da3fc22cdd98/diff:/var/lib/docker/overlay2/df6544886f16a89cb43296e5f1b5834bb1fcf77a7bb5b435cf4c18642364d70a/diff:/var/lib/docker/overlay2/dc53a523ee234cf737ab7ddff9aa8fff3aa5f34384988645987d07acaf579143/diff",
"MergedDir": "/var/lib/docker/overlay2/a71e23a00fdbfd08bd47c4e5ecbbe8cb57c7f8cb560775619bce9da400661594/merged",
"UpperDir": "/var/lib/docker/overlay2/a71e23a00fdbfd08bd47c4e5ecbbe8cb57c7f8cb560775619bce9da400661594/diff",
"WorkDir": "/var/lib/docker/overlay2/a71e23a00fdbfd08bd47c4e5ecbbe8cb57c7f8cb560775619bce9da400661594/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:a0e71ab2b234a0a129f2ffad77cc70f7c0b9c618ff3d6d84c01be4535fdeb1dc",
"sha256:c589540dcaff03c5c9e3ba3f34dbc3c8c9d8021fbd1081d54f6dceaba51c7259",
"sha256:78354b1d779e947ceaaf215a3ce9c36ce11cc56494b079cd595e137d5746a913",
"sha256:f598297094367c63f3d44471ea496b162b69ce1d5166639f82a3bb6270248a1d",
"sha256:7921430824a14a9c255054f062d03f9aa71c5321661f1e76731c42c2de5de5b7",
"sha256:7357d1927593e5264e318ec78fc19000c744e61c4f77fe1655652f389739ebff",
"sha256:7f88521b64f6a93120e9a1f42895b72932dd62ce98b75b233f2bef1f7070b4b8",
"sha256:a8adbd488186537f7c69847fdeaa200a0865c31f8bf790ae868ab2f76dc2c6cf",
"sha256:7874110badbc00a594b42a7b57a507677b68ba31809a02a3ba971d2ac86b0ab6",
"sha256:7522413d06ce3b03a21cafba5f433042660e627cdc9ad1a0854db4fa63ad25a3",
"sha256:a01d6afa3ce301bcd2051df01f1aeae023a7c51f98d274ca6f3d45c0fe6b50da",
"sha256:c64a471ff0f3a17d57729306a69da8b26fe4e2a52639546bb8d6acdf9e072a70",
"sha256:b1a811739302037f8110e23ca645777e8799edd68784e30eb12881667b412b85",
"sha256:fa7799db206607ec9495f7a83a2122d10dd96455e3802cd3518a035d074a7ff7"
]
},
"Metadata": {
"LastTagTime": "2026-03-06T10:32:02.026973126+08:00"
}
}