Skip to content

Commit

Permalink
Bump up images in ghcr.io/stargz-containers
Browse files Browse the repository at this point in the history
Signed-off-by: Kohei Tokunaga <[email protected]>
  • Loading branch information
ktock committed Mar 31, 2022
1 parent 2e85467 commit fe0dd90
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 88 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
BENCHMARK_RESULT_DIR: ${{ github.workspace }}/benchmark/
BENCHMARK_REGISTRY: ghcr.io
BENCHMARK_USER: stargz-containers
BENCHMARK_TARGETS: python:3.9 gcc:10.2.0 postgres:13.1 tomcat:10.0.0-jdk15-openjdk-buster
BENCHMARK_TARGETS: python:3.10 gcc:11.2.0 postgres:14.2 tomcat:10.1.0-jdk17-openjdk-bullseye
BENCHMARK_SAMPLES_NUM: 5
BENCHMARK_PERCENTILE: 95
BENCHMARK_PERCENTILES_GRANULARITY: 25
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,15 +73,15 @@ version = 2
You can try our [prebuilt](/Dockerfile) [KinD](https://github.com/kubernetes-sigs/kind) node image that contains the above configuration.

```console
$ kind create cluster --name stargz-demo --image ghcr.io/stargz-containers/estargz-kind-node:0.10.1
$ kind create cluster --name stargz-demo --image ghcr.io/stargz-containers/estargz-kind-node:0.11.3
```

:information_source: kind binary v0.11.x or newer is recommended.

:information_source: You can get latest node images from [`ghcr.io/stargz-containers/estargz-kind-node`](https://github.com/orgs/stargz-containers/packages/container/package/estargz-kind-node).

Then you can create eStargz pods on the cluster.
In this example, we create a stargz-converted Node.js pod (`ghcr.io/stargz-containers/node:13.13.0-esgz`) as a demo.
In this example, we create a stargz-converted Node.js pod (`ghcr.io/stargz-containers/node:17.8.0-esgz`) as a demo.

```yaml
apiVersion: v1
Expand All @@ -91,7 +91,7 @@ metadata:
spec:
containers:
- name: nodejs-stargz
image: ghcr.io/stargz-containers/node:13.13.0-esgz
image: ghcr.io/stargz-containers/node:17.8.0-esgz
command: ["node"]
args:
- -e
Expand All @@ -104,7 +104,7 @@ spec:
- containerPort: 80
```
The following command lazily pulls `ghcr.io/stargz-containers/node:13.13.0-esgz` from Github Container Registry and creates the pod so the time to take for it is shorter than the original image `library/node:13.13`.
The following command lazily pulls `ghcr.io/stargz-containers/node:17.8.0-esgz` from Github Container Registry and creates the pod so the time to take for it is shorter than the original image `library/node:13.13`.

```console
$ kubectl --context kind-stargz-demo apply -f stargz-pod.yaml && kubectl --context kind-stargz-demo get po nodejs -w
Expand Down
80 changes: 42 additions & 38 deletions docs/pre-converted-images.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,46 +18,50 @@ In the following table, image names listed in `Image Name` contain the following

|Image Name|Optimized Workload|
---|---
|`ghcr.io/stargz-containers/alpine:3.10.2-org`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/alpine:3.10.2-esgz`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/drupal:8.7.6-org`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/drupal:8.7.6-esgz`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/fedora:30-org`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/fedora:30-esgz`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/gcc:10.2.0-org`|Compiling and executing a program which prints `hello`|
|`ghcr.io/stargz-containers/gcc:10.2.0-esgz`|Compiling and executing a program which prints `hello`|
|`ghcr.io/stargz-containers/golang:1.12.9-org`|Compiling and executing a program which prints `hello`|
|`ghcr.io/stargz-containers/golang:1.12.9-esgz`|Compiling and executing a program which prints `hello`|
|`ghcr.io/stargz-containers/alpine:3.15.3-org`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/alpine:3.15.3-esgz`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/drupal:9.3.9-org`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/drupal:9.3.9-esgz`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/fedora:35-org`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/fedora:35-esgz`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/gcc:11.2.0-org`|Compiling and executing a program which prints `hello`|
|`ghcr.io/stargz-containers/gcc:11.2.0-esgz`|Compiling and executing a program which prints `hello`|
|`ghcr.io/stargz-containers/golang:1.18-org`|Compiling and executing a program which prints `hello`|
|`ghcr.io/stargz-containers/golang:1.18-esgz`|Compiling and executing a program which prints `hello`|
|`ghcr.io/stargz-containers/jenkins:2.60.3-org`|Code execution until up and ready message (`Jenkins is fully up and running`) is printed|
|`ghcr.io/stargz-containers/jenkins:2.60.3-esgz`|Code execution until up and ready message (`Jenkins is fully up and running`) is printed|
|`ghcr.io/stargz-containers/jruby:9.2.8.0-org`|Printing `hello`|
|`ghcr.io/stargz-containers/jruby:9.2.8.0-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/node:13.13.0-org`|Printing `hello`|
|`ghcr.io/stargz-containers/node:13.13.0-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/perl:5.30-org`|Printing `hello`|
|`ghcr.io/stargz-containers/perl:5.30-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/php:7.3.8-org`|Printing `hello`|
|`ghcr.io/stargz-containers/php:7.3.8-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/pypy:3.5-org`|Printing `hello`|
|`ghcr.io/stargz-containers/pypy:3.5-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/python:3.9-org`|Printing `hello`|
|`ghcr.io/stargz-containers/python:3.9-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/r-base:3.6.1-org`|Printing `hello`|
|`ghcr.io/stargz-containers/r-base:3.6.1-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/redis:5.0.5-org`|Code execution until up and ready message (`Ready to accept connections`) is printed|
|`ghcr.io/stargz-containers/redis:5.0.5-esgz`|Code execution until up and ready message (`Ready to accept connections`) is printed|
|`ghcr.io/stargz-containers/rethinkdb:2.3.6-org`|Code execution until up and ready message (`Server ready`) is printed|
|`ghcr.io/stargz-containers/rethinkdb:2.3.6-esgz`|Code execution until up and ready message (`Server ready`) is printed|
|`ghcr.io/stargz-containers/tomcat:10.0.0-jdk15-openjdk-buster-org`|Code execution until up and ready message (`Server startup`) is printed|
|`ghcr.io/stargz-containers/tomcat:10.0.0-jdk15-openjdk-buster-esgz`|Code execution until up and ready message (`Server startup`) is printed|
|`ghcr.io/stargz-containers/postgres:13.1-org`|Code execution until up and ready message (`database system is ready to accept connections`) is printed|
|`ghcr.io/stargz-containers/postgres:13.1-esgz`|Code execution until up and ready message (`database system is ready to accept connections`) is printed|
|`ghcr.io/stargz-containers/wordpress:5.7-org`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/wordpress:5.7-esgz`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/mariadb:10.5-org`|Code execution until up and ready message (`mysqld: ready for connections`) is printed|
|`ghcr.io/stargz-containers/mariadb:10.5-esgz`|Code execution until up and ready message (`mysqld: ready for connections`) is printed|
|`ghcr.io/stargz-containers/php:8-apache-buster-org`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/php:8-apache-buster-esgz`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/jruby:9.3.4-org`|Printing `hello`|
|`ghcr.io/stargz-containers/jruby:9.3.4-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/node:17.8.0-org`|Printing `hello`|
|`ghcr.io/stargz-containers/node:17.8.0-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/perl:5.34.1-org`|Printing `hello`|
|`ghcr.io/stargz-containers/perl:5.34.1-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/php:8.1.4-org`|Printing `hello`|
|`ghcr.io/stargz-containers/php:8.1.4-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/pypy:3.9-org`|Printing `hello`|
|`ghcr.io/stargz-containers/pypy:3.9-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/python:3.10-org`|Printing `hello`|
|`ghcr.io/stargz-containers/python:3.10-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/r-base:4.1.3-org`|Printing `hello`|
|`ghcr.io/stargz-containers/r-base:4.1.3-esgz`|Printing `hello`|
|`ghcr.io/stargz-containers/redis:6.2.6-org`|Code execution until up and ready message (`Ready to accept connections`) is printed|
|`ghcr.io/stargz-containers/redis:6.2.6-esgz`|Code execution until up and ready message (`Ready to accept connections`) is printed|
|`ghcr.io/stargz-containers/rethinkdb:2.4.1-org`|Code execution until up and ready message (`Server ready`) is printed|
|`ghcr.io/stargz-containers/rethinkdb:2.4.1-esgz`|Code execution until up and ready message (`Server ready`) is printed|
|`ghcr.io/stargz-containers/tomcat:10.1.0-jdk17-openjdk-bullseye-org`|Code execution until up and ready message (`Server startup`) is printed|
|`ghcr.io/stargz-containers/tomcat:10.1.0-jdk17-openjdk-bullseye-esgz`|Code execution until up and ready message (`Server startup`) is printed|
|`ghcr.io/stargz-containers/postgres:14.2-org`|Code execution until up and ready message (`database system is ready to accept connections`) is printed|
|`ghcr.io/stargz-containers/postgres:14.2-esgz`|Code execution until up and ready message (`database system is ready to accept connections`) is printed|
|`ghcr.io/stargz-containers/wordpress:5.9.2-org`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/wordpress:5.9.2-esgz`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/mariadb:10.7.3-org`|Code execution until up and ready message (`mysqld: ready for connections`) is printed|
|`ghcr.io/stargz-containers/mariadb:10.7.3-esgz`|Code execution until up and ready message (`mysqld: ready for connections`) is printed|
|`ghcr.io/stargz-containers/php:8.1.4-apache-bullseye-org`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/php:8.1.4-apache-bullseye-esgz`|Code execution until up and ready message (`apache2 -D FOREGROUND`) is printed|
|`ghcr.io/stargz-containers/rabbitmq:3.9.14-org`|Code execution until up and ready message (`Server startup complete`) is printed|
|`ghcr.io/stargz-containers/rabbitmq:3.9.14-esgz`|Code execution until up and ready message (`Server startup complete`) is printed|
|`ghcr.io/stargz-containers/elasticsearch:8.1.1-org`|Code execution until up and ready message (`started`) is printed|
|`ghcr.io/stargz-containers/elasticsearch:8.1.1-esgz`|Code execution until up and ready message (`started`) is printed|
|`ghcr.io/stargz-containers/nixos/nix:2.3.12-org`|Executing `echo hello` on the shell|
|`ghcr.io/stargz-containers/nixos/nix:2.3.12-esgz`|Executing `echo hello` on the shell|

Expand Down
84 changes: 42 additions & 42 deletions script/benchmark/hello-bench/src/hello.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,66 +103,66 @@ def __str__(self):
return json.dumps(self.__dict__)

class BenchRunner:
ECHO_HELLO = set(['alpine:3.10.2',
ECHO_HELLO = set(['alpine:3.15.3',
'nixos/nix:2.3.12',
'fedora:30',])
'fedora:35',])

CMD_ARG_WAIT = {'rethinkdb:2.3.6': RunArgs(waitline='Server ready'),
CMD_ARG_WAIT = {'rethinkdb:2.4.1': RunArgs(waitline='Server ready'),
'glassfish:4.1-jdk8': RunArgs(waitline='Running GlassFish'),
'drupal:8.7.6': RunArgs(waitline='apache2 -D FOREGROUND'),
'drupal:9.3.9': RunArgs(waitline='apache2 -D FOREGROUND'),
'jenkins:2.60.3': RunArgs(waitline='Jenkins is fully up and running'),
'redis:5.0.5': RunArgs(waitline='Ready to accept connections'),
'tomcat:10.0.0-jdk15-openjdk-buster': RunArgs(waitline='Server startup'),
'postgres:13.1': RunArgs(waitline='database system is ready to accept connections',
'redis:6.2.6': RunArgs(waitline='Ready to accept connections'),
'tomcat:10.1.0-jdk17-openjdk-bullseye': RunArgs(waitline='Server startup'),
'postgres:14.2': RunArgs(waitline='database system is ready to accept connections',
env={'POSTGRES_PASSWORD': 'abc'}),
'mariadb:10.5': RunArgs(waitline='mysqld: ready for connections',
'mariadb:10.7.3': RunArgs(waitline='mysqld: ready for connections',
env={'MYSQL_ROOT_PASSWORD': 'abc'}),
'wordpress:5.7': RunArgs(waitline='apache2 -D FOREGROUND'),
'php:8-apache-buster': RunArgs(waitline='apache2 -D FOREGROUND'),
'rabbitmq:3.9.4': RunArgs(waitline='Server startup complete'),
'elasticsearch:7.14.0': RunArgs(waitline='"started"',
'wordpress:5.9.2': RunArgs(waitline='apache2 -D FOREGROUND'),
'php:8.1.4-apache-bullseye': RunArgs(waitline='apache2 -D FOREGROUND'),
'rabbitmq:3.9.14': RunArgs(waitline='Server startup complete'),
'elasticsearch:8.1.1': RunArgs(waitline='"started"',
mount=[('elasticsearch/elasticsearch.yml', '/usr/share/elasticsearch/config/elasticsearch.yml')]),
}

CMD_STDIN = {'php:7.3.8': RunArgs(stdin='php -r "echo \\\"hello\\n\\\";"; exit\n'),
'gcc:10.2.0': RunArgs(stdin='cd /src; gcc main.c; ./a.out; exit\n',
CMD_STDIN = {'php:8.1.4': RunArgs(stdin='php -r "echo \\\"hello\\n\\\";"; exit\n'),
'gcc:11.2.0': RunArgs(stdin='cd /src; gcc main.c; ./a.out; exit\n',
mount=[('gcc', '/src')]),
'golang:1.12.9': RunArgs(stdin='cd /go/src; go run main.go; exit\n',
'golang:1.18': RunArgs(stdin='cd /go/src; go run main.go; exit\n',
mount=[('go', '/go/src')]),
'jruby:9.2.8.0': RunArgs(stdin='jruby -e "puts \\\"hello\\\""; exit\n'),
'r-base:3.6.1': RunArgs(stdin='sprintf("hello")\nq()\n', stdin_sh='R --no-save'),
'jruby:9.3.4': RunArgs(stdin='jruby -e "puts \\\"hello\\\""; exit\n'),
'r-base:4.1.3': RunArgs(stdin='sprintf("hello")\nq()\n', stdin_sh='R --no-save'),
}

CMD_ARG = {'perl:5.30': RunArgs(arg='perl -e \'print("hello\\n")\''),
'python:3.9': RunArgs(arg='python -c \'print("hello")\''),
'pypy:3.5': RunArgs(arg='pypy3 -c \'print("hello")\''),
'node:13.13.0': RunArgs(arg='node -e \'console.log("hello")\''),
CMD_ARG = {'perl:5.34.1': RunArgs(arg='perl -e \'print("hello\\n")\''),
'python:3.10': RunArgs(arg='python -c \'print("hello")\''),
'pypy:3.9': RunArgs(arg='pypy3 -c \'print("hello")\''),
'node:17.8.0': RunArgs(arg='node -e \'console.log("hello")\''),
}

# complete listing
ALL = dict([(b.name, b) for b in
[Bench('alpine:3.10.2', 'distro'),
Bench('fedora:30', 'distro'),
Bench('rethinkdb:2.3.6', 'database'),
Bench('postgres:13.1', 'database'),
Bench('redis:5.0.5', 'database'),
Bench('mariadb:10.5', 'database'),
Bench('python:3.9', 'language'),
Bench('golang:1.12.9', 'language'),
Bench('gcc:10.2.0', 'language'),
Bench('jruby:9.2.8.0', 'language'),
Bench('perl:5.30', 'language'),
Bench('php:7.3.8', 'language'),
Bench('pypy:3.5', 'language'),
Bench('r-base:3.6.1', 'language'),
Bench('drupal:8.7.6'),
[Bench('alpine:3.15.3', 'distro'),
Bench('fedora:35', 'distro'),
Bench('rethinkdb:2.4.1', 'database'),
Bench('postgres:14.2', 'database'),
Bench('redis:6.2.6', 'database'),
Bench('mariadb:10.7.3', 'database'),
Bench('python:3.10', 'language'),
Bench('golang:1.18', 'language'),
Bench('gcc:11.2.0', 'language'),
Bench('jruby:9.3.4', 'language'),
Bench('perl:5.34.1', 'language'),
Bench('php:8.1.4', 'language'),
Bench('pypy:3.9', 'language'),
Bench('r-base:4.1.3', 'language'),
Bench('drupal:9.3.9'),
Bench('jenkins:2.60.3'),
Bench('node:13.13.0'),
Bench('tomcat:10.0.0-jdk15-openjdk-buster', 'web-server'),
Bench('wordpress:5.7', 'web-server'),
Bench('php:8-apache-buster', 'web-server'),
Bench('rabbitmq:3.9.4'),
Bench('elasticsearch:7.14.0'),
Bench('node:17.8.0'),
Bench('tomcat:10.1.0-jdk17-openjdk-bullseye', 'web-server'),
Bench('wordpress:5.9.2', 'web-server'),
Bench('php:8.1.4-apache-bullseye', 'web-server'),
Bench('rabbitmq:3.9.14'),
Bench('elasticsearch:8.1.1'),

# needs "--srcrepository=docker.io"
Bench('nixos/nix:2.3.12'),
Expand Down
6 changes: 3 additions & 3 deletions script/integration/containerd/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -232,12 +232,12 @@ fi

echo "Preparing images..."
copy ghcr.io/stargz-containers/ubuntu:20.04-org "${REGISTRY_HOST}/ubuntu:18.04"
copy ghcr.io/stargz-containers/alpine:3.10.2-org "${REGISTRY_HOST}/alpine:3.10.2"
copy ghcr.io/stargz-containers/alpine:3.15.3-org "${REGISTRY_HOST}/alpine:3.15.3"
stargzify "${REGISTRY_HOST}/ubuntu:18.04" "${REGISTRY_HOST}/ubuntu:sgz"
optimize "${REGISTRY_HOST}/ubuntu:18.04" "${REGISTRY_HOST}/ubuntu:esgz"
optimize "${REGISTRY_HOST}/ubuntu:18.04" "${REGISTRY_HOST}/ubuntu:zstdchunked"
optimize "${REGISTRY_HOST}/alpine:3.10.2" "${REGISTRY_HOST}/alpine:esgz"
optimize "${REGISTRY_HOST}/alpine:3.10.2" "${REGISTRY_ALT_HOST}:5000/alpine:esgz" --plain-http
optimize "${REGISTRY_HOST}/alpine:3.15.3" "${REGISTRY_HOST}/alpine:esgz"
optimize "${REGISTRY_HOST}/alpine:3.15.3" "${REGISTRY_ALT_HOST}:5000/alpine:esgz" --plain-http

if [ "${BUILTIN_SNAPSHOTTER}" != "true" ] ; then

Expand Down

0 comments on commit fe0dd90

Please sign in to comment.