文書の過去の版を表示しています。
pasir
コンテナビルド
$ bat -p Containerfile
ARG PHP_VERSION=8.4
ARG RUST_VERSION=1
ARG VARIANT=bookworm
FROM rust:${RUST_VERSION}-slim-${VARIANT} AS rust-builder
FROM php:${PHP_VERSION}-zts-${VARIANT} AS php-builder
ENV RUSTUP_HOME=/usr/local/rustup
ENV CARGO_HOME=/usr/local/cargo
ENV PATH=/usr/local/cargo/bin:$PATH
COPY --from=rust-builder /usr/local/cargo /usr/local/cargo
COPY --from=rust-builder /usr/local/rustup /usr/local/rustup
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
libclang-dev \
;
WORKDIR /app
COPY . .
RUN LIBRARY_PATH=/usr/local/lib cargo build --bins --release
FROM php:${PHP_VERSION}-zts-${VARIANT}
ENV PASIR_PORT=8080
COPY --from=php-builder /app/target/release/pasir /usr/local/bin/pasir
RUN cp "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
WORKDIR /app
EXPOSE ${PASIR_PORT}
CMD ["pasir"]
$ podman build -f Containerfile
[1/3] STEP 1/1: FROM rust:1-slim-bookworm AS rust-builder
--> 6a90f03a4552
[2/3] STEP 1/10: FROM php:8.4-zts-bookworm AS php-builder
Resolved "php" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull docker.io/library/php:8.4-zts-bookworm...
Getting image source signatures
Copying blob a70e50dc1ece done |
Copying blob 8e44f01296e3 skipped: already exists
Copying blob 74af709de6e8 done |
Copying blob 32ecf7838eed done |
Copying blob 05bc1da9c6d5 done |
Copying blob 9b33b969dd5d done |
Copying blob a654809ec1b3 done |
Copying blob 93d3a951f823 done |
Copying blob 821ef2c980fb done |
Copying blob 7a8528e2600e done |
Copying config d6eaba3fbc done |
Writing manifest to image destination
[2/3] STEP 2/10: ENV RUSTUP_HOME=/usr/local/rustup
--> 78aac6760131
[2/3] STEP 3/10: ENV CARGO_HOME=/usr/local/cargo
--> f5f8c9ff4d8b
[2/3] STEP 4/10: ENV PATH=/usr/local/cargo/bin:$PATH
--> 192c33cba25b
[2/3] STEP 5/10: COPY --from=rust-builder /usr/local/cargo /usr/local/cargo
--> e304e053a8e1
[2/3] STEP 6/10: COPY --from=rust-builder /usr/local/rustup /usr/local/rustup
--> 1beae6d9a0ec
[2/3] STEP 7/10: RUN set -eux; apt-get update; apt-get install -y --no-install-recommends libclang-dev ;
+ apt-get update
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8791 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [6924 B]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [288 kB]
Fetched 9341 kB in 18s (512 kB/s)
Reading package lists...
+ apt-get install -y --no-install-recommends libclang-dev
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libbsd0 libclang-14-dev libclang-common-14-dev libclang1-14 libedit2 libgc1
libllvm14 libobjc-12-dev libobjc4 libz3-4
Recommended packages:
libclang-rt-14-dev
The following NEW packages will be installed:
libbsd0 libclang-14-dev libclang-common-14-dev libclang-dev libclang1-14
libedit2 libgc1 libllvm14 libobjc-12-dev libobjc4 libz3-4
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 59.9 MB of archives.
After this operation, 433 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main amd64 libbsd0 amd64 0.11.7-2 [117 kB]
Get:2 http://deb.debian.org/debian bookworm/main amd64 libgc1 amd64 1:8.2.2-3 [245 kB]
Get:3 http://deb.debian.org/debian bookworm/main amd64 libobjc4 amd64 12.2.0-14+deb12u1 [43.2 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 libobjc-12-dev amd64 12.2.0-14+deb12u1 [170 kB]
Get:5 http://deb.debian.org/debian bookworm/main amd64 libedit2 amd64 3.1-20221030-2 [93.0 kB]
Get:6 http://deb.debian.org/debian bookworm/main amd64 libz3-4 amd64 4.8.12-3.1 [7216 kB]
Get:7 http://deb.debian.org/debian bookworm/main amd64 libllvm14 amd64 1:14.0.6-12 [21.8 MB]
Get:8 http://deb.debian.org/debian bookworm/main amd64 libclang1-14 amd64 1:14.0.6-12 [6157 kB]
Get:9 http://deb.debian.org/debian bookworm/main amd64 libclang-common-14-dev all 1:14.0.6-12 [890 kB]
Get:10 http://deb.debian.org/debian bookworm/main amd64 libclang-14-dev amd64 1:14.0.6-12 [23.1 MB]
Get:11 http://deb.debian.org/debian bookworm/main amd64 libclang-dev amd64 1:14.0-55.7~deb12u1 [4728 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 59.9 MB in 1min 42s (587 kB/s)
Selecting previously unselected package libbsd0:amd64.
(Reading database ... 13255 files and directories currently installed.)
Preparing to unpack .../00-libbsd0_0.11.7-2_amd64.deb ...
Unpacking libbsd0:amd64 (0.11.7-2) ...
Selecting previously unselected package libgc1:amd64.
Preparing to unpack .../01-libgc1_1%3a8.2.2-3_amd64.deb ...
Unpacking libgc1:amd64 (1:8.2.2-3) ...
Selecting previously unselected package libobjc4:amd64.
Preparing to unpack .../02-libobjc4_12.2.0-14+deb12u1_amd64.deb ...
Unpacking libobjc4:amd64 (12.2.0-14+deb12u1) ...
Selecting previously unselected package libobjc-12-dev:amd64.
Preparing to unpack .../03-libobjc-12-dev_12.2.0-14+deb12u1_amd64.deb ...
Unpacking libobjc-12-dev:amd64 (12.2.0-14+deb12u1) ...
Selecting previously unselected package libedit2:amd64.
Preparing to unpack .../04-libedit2_3.1-20221030-2_amd64.deb ...
Unpacking libedit2:amd64 (3.1-20221030-2) ...
Selecting previously unselected package libz3-4:amd64.
Preparing to unpack .../05-libz3-4_4.8.12-3.1_amd64.deb ...
Unpacking libz3-4:amd64 (4.8.12-3.1) ...
Selecting previously unselected package libllvm14:amd64.
Preparing to unpack .../06-libllvm14_1%3a14.0.6-12_amd64.deb ...
Unpacking libllvm14:amd64 (1:14.0.6-12) ...
Selecting previously unselected package libclang1-14.
Preparing to unpack .../07-libclang1-14_1%3a14.0.6-12_amd64.deb ...
Unpacking libclang1-14 (1:14.0.6-12) ...
Selecting previously unselected package libclang-common-14-dev.
Preparing to unpack .../08-libclang-common-14-dev_1%3a14.0.6-12_all.deb ...
Unpacking libclang-common-14-dev (1:14.0.6-12) ...
Selecting previously unselected package libclang-14-dev.
Preparing to unpack .../09-libclang-14-dev_1%3a14.0.6-12_amd64.deb ...
Unpacking libclang-14-dev (1:14.0.6-12) ...
Selecting previously unselected package libclang-dev.
Preparing to unpack .../10-libclang-dev_1%3a14.0-55.7~deb12u1_amd64.deb ...
Unpacking libclang-dev (1:14.0-55.7~deb12u1) ...
Setting up libz3-4:amd64 (4.8.12-3.1) ...
Setting up libgc1:amd64 (1:8.2.2-3) ...
Setting up libbsd0:amd64 (0.11.7-2) ...
Setting up libedit2:amd64 (3.1-20221030-2) ...
Setting up libobjc4:amd64 (12.2.0-14+deb12u1) ...
Setting up libllvm14:amd64 (1:14.0.6-12) ...
Setting up libobjc-12-dev:amd64 (12.2.0-14+deb12u1) ...
Setting up libclang1-14 (1:14.0.6-12) ...
Setting up libclang-common-14-dev (1:14.0.6-12) ...
Setting up libclang-14-dev (1:14.0.6-12) ...
Setting up libclang-dev (1:14.0-55.7~deb12u1) ...
Processing triggers for libc-bin (2.36-9+deb12u13) ...
--> f9842590ad62
[2/3] STEP 8/10: WORKDIR /app
--> eb30020eeb67
[2/3] STEP 9/10: COPY . .
--> 28657b18d30e
[2/3] STEP 10/10: RUN LIBRARY_PATH=/usr/local/lib cargo build --bins --release
Updating git repository `https://github.com/el7cosmos/ext-php-rs.git`
Updating crates.io index
Downloading crates ...
Downloaded anstyle-query v1.1.4
Downloaded atomic-waker v1.1.2
Downloaded anstyle-parse v0.2.7
Downloaded anstream v0.6.21
Downloaded serde_spanned v0.6.9
Downloaded darling_macro v0.20.11
Downloaded tower-service v0.3.3
Downloaded http-body v1.0.1
Downloaded toml_datetime v0.6.11
Downloaded tower-layer v0.3.3
Downloaded headers-core v0.3.0
Downloaded serde_spanned v1.0.3
Downloaded ident_case v1.0.1
Downloaded semver v1.0.27
Downloaded sync_wrapper v1.0.2
Downloaded sha1 v0.10.6
Downloaded toml_writer v1.0.4
Downloaded tokio-macros v2.6.0
Downloaded utf8parse v0.2.2
Downloaded toml_datetime v0.7.3
Downloaded thread_local v1.1.9
Downloaded thiserror-impl v2.0.17
Downloaded anstyle v1.0.13
Downloaded equivalent v1.0.2
Downloaded subtle v2.6.1
Downloaded signal-hook-registry v1.4.6
Downloaded strsim v0.11.1
Downloaded is_terminal_polyfill v1.70.1
Downloaded skeptic v0.13.7
Downloaded scopeguard v1.2.0
Downloaded slab v0.4.11
Downloaded cexpr v0.6.0
Downloaded block-buffer v0.10.4
Downloaded walkdir v2.5.0
Downloaded cargo_metadata v0.14.2
Downloaded unicase v2.8.1
Downloaded cfg-if v1.0.4
Downloaded version_check v0.9.5
Downloaded toml v0.8.23
Downloaded toml_parser v1.0.4
Downloaded cargo-platform v0.1.9
Downloaded crypto-common v0.1.6
Downloaded bytecount v0.6.9
Downloaded tracing-attributes v0.1.30
Downloaded fnv v1.0.7
Downloaded errno v0.3.14
Downloaded cpufeatures v0.2.17
Downloaded smallvec v1.15.1
Downloaded fastrand v2.3.0
Downloaded either v1.15.0
Downloaded digest v0.10.7
Downloaded colorchoice v1.0.4
Downloaded env_home v0.1.0
Downloaded convert_case v0.8.0
Downloaded which v8.0.0
Downloaded serde_core v1.0.228
Downloaded futures-task v0.3.31
Downloaded futures-sink v0.3.31
Downloaded sharded-slab v0.1.7
Downloaded heck v0.5.0
Downloaded generic-array v0.14.9
Downloaded shlex v1.3.0
Downloaded http-range-header v0.4.2
Downloaded http-body-util v0.1.3
Downloaded tempfile v3.23.0
Downloaded unicode-ident v1.0.19
Downloaded thiserror v2.0.17
Downloaded toml v0.9.8
Downloaded glob v0.3.3
Downloaded serde v1.0.228
Downloaded httpdate v1.0.3
Downloaded itoa v1.0.15
Downloaded typenum v1.19.0
Downloaded serde_derive v1.0.228
Downloaded same-file v1.0.6
Downloaded socket2 v0.6.1
Downloaded toml_edit v0.22.27
Downloaded uuid v1.18.1
Downloaded rustc-hash v1.1.0
Downloaded rustc-hash v2.1.1
Downloaded percent-encoding v2.3.2
Downloaded pin-utils v0.1.0
Downloaded base64 v0.22.1
Downloaded clap-verbosity-flag v3.0.4
Downloaded futures-channel v0.3.31
Downloaded tracing-core v0.1.34
Downloaded unicode-segmentation v1.12.0
Downloaded tracing v0.1.41
Downloaded tower v0.5.2
Downloaded pin-project-lite v0.2.16
Downloaded serde_json v1.0.145
Downloaded cargo-manifest v0.19.1
Downloaded clap_derive v4.5.49
Downloaded tokio-util v0.7.16
Downloaded find-msvc-tools v0.1.4
Downloaded error-chain v0.12.4
Downloaded clap_lex v0.7.6
Downloaded tower-http v0.6.6
Downloaded lazy_static v1.5.0
Downloaded futures-core v0.3.31
Downloaded winnow v0.7.13
Downloaded jobserver v0.1.34
Downloaded libloading v0.8.9
Downloaded lock_api v0.4.14
Downloaded mime v0.3.17
Downloaded tracing-subscriber v0.3.20
Downloaded quote v1.0.41
Downloaded once_cell v1.21.3
Downloaded parking_lot_core v0.9.12
Downloaded mime_guess v2.0.5
Downloaded syn v2.0.106
Downloaded nu-ansi-term v0.50.3
Downloaded anyhow v1.0.100
Downloaded httparse v1.10.1
Downloaded darling v0.20.11
Downloaded clang-sys v1.8.1
Downloaded bitflags v2.9.4
Downloaded getrandom v0.3.4
Downloaded parking_lot v0.12.5
Downloaded tokio v1.48.0
Downloaded camino v1.2.1
Downloaded clap v4.5.49
Downloaded headers v0.4.1
Downloaded ryu v1.0.20
Downloaded proc-macro2 v1.0.101
Downloaded bytes v1.10.1
Downloaded darling_core v0.20.11
Downloaded memchr v2.7.6
Downloaded cc v1.2.41
Downloaded hyper-util v0.1.17
Downloaded indexmap v2.11.4
Downloaded http v1.3.1
Downloaded minimal-lexical v0.2.1
Downloaded aho-corasick v1.1.3
Downloaded hashbrown v0.16.0
Downloaded mio v1.0.4
Downloaded pulldown-cmark v0.9.6
Downloaded nom v7.1.3
Downloaded hyper v1.7.0
Downloaded itertools v0.13.0
Downloaded futures-util v0.3.31
Downloaded regex v1.12.2
Downloaded h2 v0.4.12
Downloaded clap_builder v4.5.49
Downloaded bindgen v0.72.1
Downloaded bindgen v0.70.1
Downloaded regex-syntax v0.8.8
Downloaded rustix v1.1.2
Downloaded regex-automata v0.4.13
Downloaded libc v0.2.177
Downloaded linux-raw-sys v0.11.0
Compiling proc-macro2 v1.0.101
Compiling unicode-ident v1.0.19
Compiling quote v1.0.41
Compiling serde_core v1.0.228
Compiling libc v0.2.177
Compiling serde v1.0.228
Compiling version_check v0.9.5
Compiling memchr v2.7.6
Compiling syn v2.0.106
Compiling glob v0.3.3
Compiling bitflags v2.9.4
Compiling cfg-if v1.0.4
Compiling bytes v1.10.1
Compiling clang-sys v1.8.1
Compiling getrandom v0.3.4
Compiling pin-project-lite v0.2.16
Compiling rustix v1.1.2
Compiling anyhow v1.0.100
Compiling minimal-lexical v0.2.1
Compiling serde_json v1.0.145
Compiling once_cell v1.21.3
Compiling fnv v1.0.7
Compiling linux-raw-sys v0.11.0
Compiling itoa v1.0.15
Compiling unicase v2.8.1
Compiling futures-core v0.3.31
Compiling regex-syntax v0.8.8
Compiling http v1.3.1
Compiling regex-automata v0.4.13
Compiling nom v7.1.3
Compiling libloading v0.8.9
Compiling either v1.15.0
Compiling ryu v1.0.20
Compiling typenum v1.19.0
Compiling serde_derive v1.0.228
Compiling shlex v1.3.0
Compiling tokio-macros v2.6.0
Compiling cexpr v0.6.0
Compiling regex v1.12.2
Compiling itertools v0.13.0
Compiling tracing-core v0.1.34
Compiling socket2 v0.6.1
Compiling signal-hook-registry v1.4.6
Compiling mio v1.0.4
Compiling generic-array v0.14.9
Compiling camino v1.2.1
Compiling thiserror v2.0.17
Compiling tokio v1.48.0
Compiling error-chain v0.12.4
Compiling equivalent v1.0.2
Compiling hashbrown v0.16.0
Compiling pulldown-cmark v0.9.6
Compiling indexmap v2.11.4
Compiling cargo-platform v0.1.9
Compiling toml_datetime v0.6.11
Compiling serde_spanned v0.6.9
Compiling thiserror-impl v2.0.17
Compiling tracing-attributes v0.1.30
Compiling semver v1.0.27
Compiling futures-sink v0.3.31
Compiling strsim v0.11.1
Compiling same-file v1.0.6
Compiling winnow v0.7.13
Compiling fastrand v2.3.0
Compiling pin-utils v0.1.0
Compiling smallvec v1.15.1
Compiling bindgen v0.70.1
Compiling utf8parse v0.2.2
Compiling ident_case v1.0.1
Compiling anstyle-parse v0.2.7
Compiling darling_core v0.20.11
Compiling tempfile v3.23.0
Compiling tracing v0.1.41
Compiling walkdir v2.5.0
Compiling toml_edit v0.22.27
Compiling tokio-util v0.7.16
Compiling cargo_metadata v0.14.2
Compiling http-body v1.0.1
Compiling parking_lot_core v0.9.12
Compiling bindgen v0.72.1
Compiling bytecount v0.6.9
Compiling rustc-hash v1.1.0
Compiling anstyle v1.0.13
Compiling httpdate v1.0.3
Compiling anstyle-query v1.1.4
Compiling httparse v1.10.1
Compiling find-msvc-tools v0.1.4
Compiling is_terminal_polyfill v1.70.1
Compiling colorchoice v1.0.4
Compiling anstream v0.6.21
Compiling cc v1.2.41
Compiling skeptic v0.13.7
Compiling toml v0.8.23
Compiling darling_macro v0.20.11
Compiling block-buffer v0.10.4
Compiling crypto-common v0.1.6
Compiling mime_guess v2.0.5
Compiling heck v0.5.0
Compiling atomic-waker v1.1.2
Compiling scopeguard v1.2.0
Compiling slab v0.4.11
Compiling env_home v0.1.0
Compiling futures-task v0.3.31
Compiling clap_lex v0.7.6
Compiling tower-service v0.3.3
Compiling mime v0.3.17
Compiling unicode-segmentation v1.12.0
Compiling rustc-hash v2.1.1
Compiling convert_case v0.8.0
Compiling aho-corasick v1.1.3
Compiling clap_builder v4.5.49
Compiling ext-php-rs v0.14.2 (https://github.com/el7cosmos/ext-php-rs.git?branch=static#8271a90d)
Compiling futures-util v0.3.31
Compiling h2 v0.4.12
Compiling which v8.0.0
Compiling lock_api v0.4.14
Compiling clap_derive v4.5.49
Compiling digest v0.10.7
Compiling cargo-manifest v0.19.1
Compiling darling v0.20.11
Compiling futures-channel v0.3.31
Compiling cpufeatures v0.2.17
Compiling lazy_static v1.5.0
Compiling sync_wrapper v1.0.2
Compiling tower-layer v0.3.3
Compiling toml_parser v1.0.4
Compiling tower v0.5.2
Compiling ext-php-rs-derive v0.11.2 (https://github.com/el7cosmos/ext-php-rs.git?branch=static#8271a90d)
Compiling sharded-slab v0.1.7
Compiling sha1 v0.10.6
Compiling pasir v0.5.2 (/app)
Compiling hyper v1.7.0
Compiling parking_lot v0.12.5
Compiling clap v4.5.49
Compiling uuid v1.18.1
Compiling toml_datetime v0.7.3
Compiling serde_spanned v1.0.3
Compiling http-body-util v0.1.3
Compiling headers-core v0.3.0
Compiling thread_local v1.1.9
Compiling http-range-header v0.4.2
Compiling percent-encoding v2.3.2
Compiling base64 v0.22.1
Compiling toml_writer v1.0.4
Compiling nu-ansi-term v0.50.3
Compiling toml v0.9.8
Compiling tracing-subscriber v0.3.20
Compiling headers v0.4.1
Compiling tower-http v0.6.6
Compiling hyper-util v0.1.17
Compiling clap-verbosity-flag v3.0.4
Finished `release` profile [optimized] target(s) in 3m 55s
--> 892a9a8c2c0a
[3/3] STEP 1/7: FROM php:8.4-zts-bookworm
[3/3] STEP 2/7: ENV PASIR_PORT=8080
--> 9116867fcd7d
[3/3] STEP 3/7: COPY --from=php-builder /app/target/release/pasir /usr/local/bin/pasir
--> f38c2eb98ca2
[3/3] STEP 4/7: RUN cp "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
--> 5808be2e7658
[3/3] STEP 5/7: WORKDIR /app
--> 431265f9d788
[3/3] STEP 6/7: EXPOSE ${PASIR_PORT}
--> f57523bc0fb4
[3/3] STEP 7/7: CMD ["pasir"]
[3/3] COMMIT
--> 25e5a97d4b30
25e5a97d4b30238cb22cfe93c3c58568168929ba260bb6ee36f2bfd0919cc681