Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How can I build an image myself? #1103

Closed
enumag opened this issue Dec 10, 2020 · 4 comments
Closed

How can I build an image myself? #1103

enumag opened this issue Dec 10, 2020 · 4 comments
Labels
question Usability question, not directly related to an error with the image

Comments

@enumag
Copy link

enumag commented Dec 10, 2020

For now I'm simply trying to build a PHP image using this repo on my own.

(The end goal is to compile a --enable-debug version in order to get backtrace for a segfault.)

I'm using this command:

docker build --pull --no-cache 7.4/alpine3.12/cli

However it ends with the following error. What am I doing wrong?

Sending build context to Docker daemon  19.46kB
Step 1/20 : FROM alpine:3.12
3.12: Pulling from library/alpine
Digest: sha256:c0e9560cda118f9ec63ddefb4a173a2b2a0347082d7dff7dc14272e7841a5b5a
Status: Image is up to date for alpine:3.12
 ---> d6e46aa2470d
Step 2/20 : ENV PHPIZE_DEPS 		autoconf 		dpkg-dev dpkg 	file 		g++ 		gcc 		libc-dev 		make 	pkgconf 		re2c
 ---> Running in d0c02037dd0e
Removing intermediate container d0c02037dd0e
 ---> f2c40008ec58
Step 3/20 : RUN apk add --no-cache 		ca-certificates 		curl 		tar 		xz 		openssl
 ---> Running in 8aa1fcbaa8d8
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
(1/9) Installing ca-certificates (20191127-r4)
(2/9) Installing nghttp2-libs (1.41.0-r0)
(3/9) Installing libcurl (7.69.1-r2)
(4/9) Installing curl (7.69.1-r2)
(5/9) Installing openssl (1.1.1g-r0)
(6/9) Installing libacl (2.2.53-r0)
(7/9) Installing tar (1.32-r1)
(8/9) Installing xz-libs (5.2.5-r0)
(9/9) Installing xz (5.2.5-r0)
Executing busybox-1.31.1-r19.trigger
Executing ca-certificates-20191127-r4.trigger
OK: 9 MiB in 23 packages
Removing intermediate container 8aa1fcbaa8d8
 ---> 5195fdea5433
Step 4/20 : RUN set -eux; 	addgroup -g 82 -S www-data; 	adduser -u 82 -D -S -G www-data www-data
 ---> Running in 6e0eb5827b0a
+ addgroup -g 82 -S www-data
+ adduser -u 82 -D -S -G www-data www-data
Removing intermediate container 6e0eb5827b0a
 ---> 215c26b844d2
Step 5/20 : ENV PHP_INI_DIR /usr/local/etc/php
 ---> Running in 0fdc50960141
Removing intermediate container 0fdc50960141
 ---> 737c0daa4e2e
Step 6/20 : RUN 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 777 /var/www/html
 ---> Running in d42f67278b46
+ mkdir -p /usr/local/etc/php/conf.d
+ '[' '!' -d /var/www/html ]
+ mkdir -p /var/www/html
+ chown www-data:www-data /var/www/html
+ chmod 777 /var/www/html
Removing intermediate container d42f67278b46
 ---> 818e2ae87baa
Step 7/20 : ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 ---> Running in a93d02e73e5e
Removing intermediate container a93d02e73e5e
 ---> 771a8101e850
Step 8/20 : ENV PHP_CPPFLAGS="$PHP_CFLAGS"
 ---> Running in 8c1757452bb0
Removing intermediate container 8c1757452bb0
 ---> e656f301a1f2
Step 9/20 : ENV PHP_LDFLAGS="-Wl,-O1 -pie"
 ---> Running in 849acc453e92
Removing intermediate container 849acc453e92
 ---> 7178730f3c71
Step 10/20 : ENV GPG_KEYS 42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312
 ---> Running in f87aea513bd6
Removing intermediate container f87aea513bd6
 ---> a647f90b4d72
Step 11/20 : ENV PHP_VERSION 7.4.13
 ---> Running in e577bd0bcb77
Removing intermediate container e577bd0bcb77
 ---> a528112ac7c1
Step 12/20 : ENV PHP_URL="https://www.php.net/distributions/php-7.4.13.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-7.4.13.tar.xz.asc"
 ---> Running in 7b00fa50d1a0
Removing intermediate container 7b00fa50d1a0
 ---> 560238303a93
Step 13/20 : ENV PHP_SHA256="aead303e3abac23106529560547baebbedba0bb2943b91d5aa08fff1f41680f4"
 ---> Running in e47f425fab9b
Removing intermediate container e47f425fab9b
 ---> 202154b14b2e
Step 14/20 : RUN set -eux; 		apk add --no-cache --virtual .fetch-deps gnupg; 		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; 		if [ -n "$PHP_ASC_URL" ]; then 		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; 	export GNUPGHOME="$(mktemp -d)"; 		for key in $GPG_KEYS; do 	gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; 		done; 		gpg --batch --verify php.tar.xz.asc php.tar.xz; 		gpgconf --kill all; 		rm -rf "$GNUPGHOME"; 	fi; 		apk del --no-network .fetch-deps
 ---> Running in b0529c61772a
+ apk add --no-cache --virtual .fetch-deps gnupg
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
(1/29) Installing libgpg-error (1.37-r0)
(2/29) Installing libassuan (2.5.3-r0)
(3/29) Installing libcap (2.27-r0)
(4/29) Installing libffi (3.3-r2)
(5/29) Installing libintl (0.20.2-r0)
(6/29) Installing libblkid (2.35.2-r0)
(7/29) Installing libmount (2.35.2-r0)
(8/29) Installing pcre (8.44-r0)
(9/29) Installing glib (2.64.6-r0)
(10/29) Installing ncurses-terminfo-base (6.2_p20200523-r0)
(11/29) Installing ncurses-libs (6.2_p20200523-r0)
(12/29) Installing libgcrypt (1.8.5-r0)
(13/29) Installing libsecret (0.20.3-r0)
(14/29) Installing pinentry (1.1.0-r2)
Executing pinentry-1.1.0-r2.post-install
(15/29) Installing libbz2 (1.0.8-r1)
(16/29) Installing gmp (6.2.0-r0)
(17/29) Installing nettle (3.5.1-r1)
(18/29) Installing p11-kit (0.23.20-r5)
(19/29) Installing libtasn1 (4.16.0-r1)
(20/29) Installing libunistring (0.9.10-r0)
(21/29) Installing gnutls (3.6.15-r0)
(22/29) Installing libksba (1.4.0-r0)
(23/29) Installing db (5.3.28-r1)
(24/29) Installing libsasl (2.1.27-r6)
(25/29) Installing libldap (2.4.50-r0)
(26/29) Installing npth (1.6-r0)
(27/29) Installing sqlite-libs (3.32.1-r0)
(28/29) Installing gnupg (2.2.23-r0)
(29/29) Installing .fetch-deps (20201210.082645)
Executing busybox-1.31.1-r19.trigger
OK: 29 MiB in 52 packages
+ mkdir -p /usr/src
+ cd /usr/src
+ curl -fsSL -o php.tar.xz https://www.php.net/distributions/php-7.4.13.tar.xz
+ '[' -n aead303e3abac23106529560547baebbedba0bb2943b91d5aa08fff1f41680f4 ]
+ echo 'aead303e3abac23106529560547baebbedba0bb2943b91d5aa08fff1f41680f4 *php.tar.xz'
+ sha256sum -c -
php.tar.xz: OK
+ '[' -n https://www.php.net/distributions/php-7.4.13.tar.xz.asc ]
+ curl -fsSL -o php.tar.xz.asc https://www.php.net/distributions/php-7.4.13.tar.xz.asc
+ mktemp -d
+ export 'GNUPGHOME=/tmp/tmp.GlLbeI'
+ gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys 42670A7FE4D0441C8E4632349E4FDC074A4EF02D
gpg: keybox '/tmp/tmp.GlLbeI/pubring.kbx' created
gpg: keyserver receive failed: Address not available
The command '/bin/sh -c set -eux; 		apk add --no-cache --virtual .fetch-deps gnupg; 		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; 		if [ -n "$PHP_ASC_URL" ]; then 		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; 		export GNUPGHOME="$(mktemp -d)"; 		for key in $GPG_KEYS; do 			gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; 		done; 		gpg --batch --verify php.tar.xz.asc php.tar.xz; 		gpgconf --kill all; 		rm -rf "$GNUPGHOME"; 	fi; 		apk del --no-network .fetch-deps' returned a non-zero code: 2
@wglambert wglambert added the question Usability question, not directly related to an error with the image label Dec 10, 2020
@wglambert
Copy link

docker-library/official-images#4252 (comment)

TLDR; GPG servers are extremely flaky . . .

This is what we do for GPG issues docker-library/official-images#4252 (comment)

@enumag
Copy link
Author

enumag commented Dec 10, 2020

@wglambert Errr... okay? So how do I fix it locally?

@wglambert
Copy link

You can keep running the build and it will eventually succeed since ha.pool.sks-keyservers.net is a round-robin pool
docker-library/httpd#66 (comment)

Or you could add more servers to try #586 (comment)

docker-library/tomcat#87 (comment)

My own preferred ordering would be the following:

  • ha.pool.sks-keyservers.net
  • pgp.mit.edu
  • hkp://p80.pool.sks-keyservers.net:80
  • hkp://keyserver.ubuntu.com:80
  • keyserver.pgp.com

@enumag
Copy link
Author

enumag commented Dec 14, 2020

Thanks. It compiled now.

@enumag enumag closed this as completed Dec 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Usability question, not directly related to an error with the image
Projects
None yet
Development

No branches or pull requests

2 participants