Yet another Pharo in docker
Herby VojÄÃk wrote:
Thanks to gotchas@dockerhub whose scripts I adapted.
Updated with 60541 release of 6.1. Herby VojÄÃk wrote on 18. 10. 2017 22:17:
Herby VojÄÃk wrote:
Thanks to gotchas@dockerhub whose scripts I adapted.
Updated with 60543 release of 6.1, now that zeroconf (used to build this) contains newer vm. Herby P.S.: Not used the official one yet, if it proves to be composable enough, I'd gladly abandon this one. Herbert VojÄÃk wrote on 27. 6. 2018 20:27:
Updated with 60541 release of 6.1.
Herby VojÄÃk wrote on 18. 10. 2017 22:17:
Herby VojÄÃk wrote:
Thanks to gotchas@dockerhub whose scripts I adapted.
Herby VojÄÃk wrote
Cool! I noticed the following [1]: ln -s \ `/sbin/ldconfig -p | sed -e 's|[^/]*||' | grep sqlite3` \ `find . -type f -name SqueakSSL.so -print0 | xargs -0 dirname`/sqlite3.so What does it do? Answer from Herby in private mail: fixes linux lib lookup problem in ffi, which I discussed on ML or in bug tracker few months ago. FFI was not able to localize sqlite, so the fix chosen was to find its location and symlink it to pharo directory with good name so it then finds it (it is mentioned in docker desc "fixes sqlite"). 1. https://lolg.it/herby/pharo-docker/src/master/61_32/Dockerfile ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
On Sat, Mar 03, 2018 at 09:04:59AM -0700, Sean P. DeNigris wrote:
Cool! I noticed the following [1]: ln -s \ `/sbin/ldconfig -p | sed -e 's|[^/]*||' | grep sqlite3` \ `find . -type f -name SqueakSSL.so -print0 | xargs -0 dirname`/sqlite3.so What does it do?
Answer from Herby in private mail: fixes linux lib lookup problem in ffi,
I was just about to do this Docker thing the other way, which is to bundle my own SQLite library, for these reasons: - Customize SQLite to include JSON, FTS, etc. - Yesterday I committed functionality to load SQLite extensions (so/dylib/dll files implementing SQL functions and virtual tables). I'm using a PCRE-based extension. - SQLcipher. This is in NBSQLite3, to be ported to UFFI. Pierce
Could you build a roadmap of the actions to be done to improve the situation (like porting NB...) Stef On Sun, Mar 4, 2018 at 5:11 AM, Pierce Ng <pierce@samadhiweb.com> wrote:
On Sat, Mar 03, 2018 at 09:04:59AM -0700, Sean P. DeNigris wrote:
Cool! I noticed the following [1]: ln -s \ `/sbin/ldconfig -p | sed -e 's|[^/]*||' | grep sqlite3` \ `find . -type f -name SqueakSSL.so -print0 | xargs -0 dirname`/sqlite3.so What does it do?
Answer from Herby in private mail: fixes linux lib lookup problem in ffi,
I was just about to do this Docker thing the other way, which is to bundle my own SQLite library, for these reasons:
- Customize SQLite to include JSON, FTS, etc.
- Yesterday I committed functionality to load SQLite extensions (so/dylib/dll files implementing SQL functions and virtual tables). I'm using a PCRE-based extension.
- SQLcipher. This is in NBSQLite3, to be ported to UFFI.
Pierce
Herby VojÄÃk wrote
How are the images built from https://lolg.it/herby/pharo-docker? ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Sean P. DeNigris wrote
https://hub.docker.com/r/herbysk/pharo/ How are the images built from https://lolg.it/herby/pharo-docker?
Researching a bit it seems that Docker Hub only supports GitHub and BitBucket, and IIUC you can't change the image name if you use automated building. Therefore, I assume you're going something custom. Is it manual? Or is there a way to set up triggers for a custom solution? Thanks. ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Sean P. DeNigris wrote:
Sean P. DeNigris wrote
https://hub.docker.com/r/herbysk/pharo/ How are the images built from https://lolg.it/herby/pharo-docker?
Researching a bit it seems that Docker Hub only supports GitHub and BitBucket, and IIUC you can't change the image name if you use automated building. Therefore, I assume you're going something custom. Is it manual?
Manual. I actually replied to original question, but mail got stuck in moderation b/c it has empty subject or something. Whenever I see there is significant change / the project needs to have the new changes in, I rebuild and reupload manually. Herby
Or is there a way to set up triggers for a custom solution? Thanks.
----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Herbert VojÄÃk wrote:
Sean P. DeNigris wrote:
Sean P. DeNigris wrote
https://hub.docker.com/r/herbysk/pharo/ How are the images built from https://lolg.it/herby/pharo-docker?
Researching a bit it seems that Docker Hub only supports GitHub and BitBucket, and IIUC you can't change the image name if you use automated building. Therefore, I assume you're going something custom. Is it manual?
Manual. I actually replied to original question, but mail got stuck in moderation b/c it has empty subject or something.
Whenever I see there is significant change / the project needs to have the new changes in, I rebuild and reupload manually.
Also, I pointed out in that lost mail, I only created this docker out of necessity since there isn't pharo official one. Having official one generated from Jenkins would be nice.
Herby
Or is there a way to set up triggers for a custom solution? Thanks.
----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
BTW, Sean (or anyone else), if you still find this docker useful, should I add you as contributor in dockerhub and write access in git so you could make builds for 70 (I do not use 70, so not knowing when is it the good point to make new build). Or is there some ETA to official one built from Pharo jenkins itself? Herby Herbert VojÄÃk wrote:
Herbert VojÄÃk wrote:
Sean P. DeNigris wrote:
Sean P. DeNigris wrote
https://hub.docker.com/r/herbysk/pharo/ How are the images built from https://lolg.it/herby/pharo-docker?
Researching a bit it seems that Docker Hub only supports GitHub and BitBucket, and IIUC you can't change the image name if you use automated building. Therefore, I assume you're going something custom. Is it manual?
Manual. I actually replied to original question, but mail got stuck in moderation b/c it has empty subject or something.
Whenever I see there is significant change / the project needs to have the new changes in, I rebuild and reupload manually.
Also, I pointed out in that lost mail, I only created this docker out of necessity since there isn't pharo official one. Having official one generated from Jenkins would be nice.
Herby
Or is there a way to set up triggers for a custom solution? Thanks.
----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Hi, I would like to coordinate to have something official in April. Marcus
On 21 Mar 2018, at 18:32, Herbert VojÄÃk <herby@mailbox.sk> wrote:
BTW, Sean (or anyone else), if you still find this docker useful, should I add you as contributor in dockerhub and write access in git so you could make builds for 70 (I do not use 70, so not knowing when is it the good point to make new build). Or is there some ETA to official one built from Pharo jenkins itself?
Herby
Herbert VojÄÃk wrote:
Herbert VojÄÃk wrote:
Sean P. DeNigris wrote:
Sean P. DeNigris wrote
https://hub.docker.com/r/herbysk/pharo/ How are the images built from https://lolg.it/herby/pharo-docker?
Researching a bit it seems that Docker Hub only supports GitHub and BitBucket, and IIUC you can't change the image name if you use automated building. Therefore, I assume you're going something custom. Is it manual?
Manual. I actually replied to original question, but mail got stuck in moderation b/c it has empty subject or something.
Whenever I see there is significant change / the project needs to have the new changes in, I rebuild and reupload manually.
Also, I pointed out in that lost mail, I only created this docker out of necessity since there isn't pharo official one. Having official one generated from Jenkins would be nice.
Herby
Or is there a way to set up triggers for a custom solution? Thanks.
----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Me, too. Sadly I donât find time to prepare that properly. Thinks to consider are as always desktop and server environments. As I can see and Herby is tweaking DISPLAY variables, his approach is used to start a pharo inside a docker container but have the display opened on the host computer. What I use is a docker container that has a vm installed, you give it an image and the container is usable in a standalone fashion everywhere. Both are useful and should be considered when choosing names for the docker images. We should create an organization at hub.docker.com <http://hub.docker.com/> for pharo. It would be best to have an offical organisation here but the effort is a little bigger to achieve this. I wanted to do it but time is really sparse right now. Additionally we need to come to a conclusion what vm to use. We put quite some effort to get a process of producing real linux packages for distribution. Sadly the vm building process is not ready for making it part of this process so this lacks behing which means the vms of the opensuse build service are not up-to-date. If the process of the vm is fixed this can be an automatic process to release linux packages automatically if there is no vm version. So at first we could use a zeroconf downloaded vm inside a pharo image and hopefully later this can be exchanged by the linux ones. The github repo for the docker files already exists in https://github.com/pharo-project/pharo-docker <https://github.com/pharo-project/pharo-docker> If there is a coordination initiative for docker please include me! Norbert
Am 22.03.2018 um 09:48 schrieb Marcus Denker <marcus.denker@inria.fr>:
Hi,
I would like to coordinate to have something official in April.
Marcus
On 21 Mar 2018, at 18:32, Herbert VojÄÃk <herby@mailbox.sk> wrote:
BTW, Sean (or anyone else), if you still find this docker useful, should I add you as contributor in dockerhub and write access in git so you could make builds for 70 (I do not use 70, so not knowing when is it the good point to make new build). Or is there some ETA to official one built from Pharo jenkins itself?
Herby
Herbert VojÄÃk wrote:
Herbert VojÄÃk wrote:
Sean P. DeNigris wrote:
Sean P. DeNigris wrote
https://hub.docker.com/r/herbysk/pharo/ How are the images built from https://lolg.it/herby/pharo-docker?
Researching a bit it seems that Docker Hub only supports GitHub and BitBucket, and IIUC you can't change the image name if you use automated building. Therefore, I assume you're going something custom. Is it manual?
Manual. I actually replied to original question, but mail got stuck in moderation b/c it has empty subject or something.
Whenever I see there is significant change / the project needs to have the new changes in, I rebuild and reupload manually.
Also, I pointed out in that lost mail, I only created this docker out of necessity since there isn't pharo official one. Having official one generated from Jenkins would be nice.
Herby
Or is there a way to set up triggers for a custom solution? Thanks.
----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Marcus Denker-4 wrote
I would like to coordinate to have something official in April.
As you investigate this, check out the barebones Docker support in the `docker` branch of my smalltalkCI fork [1]. It is a proof-of-concept wrapper of the Docker infrastructure, so that (kind of like Slang), you can stay in Pharo instead of learning and writing Dockerfiles by hand. Commits trigger container(s) to be built automatically on DockerHub [2] which are in daily use in my CI builds. Here is an example: | toolDependencies commands | toolDependencies := #('ca-certificates' curl unzip wget git). commands := OrderedCollection new add: (SCIDockerComment contents: 'Pharo (32-bit)'); add: (SCIDockerFROM new baseImage: 'ubuntu:16.04'); addAll: (aPlatform sciDockerDependencyCommandsGivenTools: toolDependencies); yourself. ^ self new instructions: commands; yourself. Which gets turned into something like this [3]: I wrote it to use it in my CI builds, so at the time smalltalkCI seemed like the most appropriate host, but it could live anywhere and could easily be extracted. IIRC it has no dependencies ATM. # Pharo (32-bit) FROM ubuntu:16.04 RUN dpkg --add-architecture i386 RUN apt-get -qq update && apt-get -qq install \ ca-certificates \ curl \ git \ libcurl3:i386 \ libfontconfig1:i386 \ libfreetype6:i386 \ libgl1-mesa-glx:i386 \ libsqlite3-0:i386 \ libssl1.0.0:i386 \ libx11-6:i386 \ unzip \ wget \ && rm -rf /var/lib/apt/lists/* RUN echo "Pharo 32-bit prerequisities installed." 1. https://github.com/seandenigris/smalltalkCI/tree/docker/repository/Smalltalk... 2. https://hub.docker.com/r/seandenigris/pharo/ 3. https://github.com/seandenigris/smalltalkCI/blob/docker/docker/Dockerfile ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
I am currently looking into deploying Pharo in Kubernetes. Not the same as Docker but quite close. Phil On Thu, Mar 22, 2018, 17:14 Sean P. DeNigris <sean@clipperadams.com> wrote:
Marcus Denker-4 wrote
I would like to coordinate to have something official in April.
As you investigate this, check out the barebones Docker support in the `docker` branch of my smalltalkCI fork [1]. It is a proof-of-concept wrapper of the Docker infrastructure, so that (kind of like Slang), you can stay in Pharo instead of learning and writing Dockerfiles by hand. Commits trigger container(s) to be built automatically on DockerHub [2] which are in daily use in my CI builds. Here is an example: | toolDependencies commands | toolDependencies := #('ca-certificates' curl unzip wget git). commands := OrderedCollection new add: (SCIDockerComment contents: 'Pharo (32-bit)'); add: (SCIDockerFROM new baseImage: 'ubuntu:16.04'); addAll: (aPlatform sciDockerDependencyCommandsGivenTools: toolDependencies); yourself. ^ self new instructions: commands; yourself.
Which gets turned into something like this [3]:
I wrote it to use it in my CI builds, so at the time smalltalkCI seemed like the most appropriate host, but it could live anywhere and could easily be extracted. IIRC it has no dependencies ATM.
# Pharo (32-bit)
FROM ubuntu:16.04
RUN dpkg --add-architecture i386
RUN apt-get -qq update && apt-get -qq install \ ca-certificates \ curl \ git \ libcurl3:i386 \ libfontconfig1:i386 \ libfreetype6:i386 \ libgl1-mesa-glx:i386 \ libsqlite3-0:i386 \ libssl1.0.0:i386 \ libx11-6:i386 \ unzip \ wget \ && rm -rf /var/lib/apt/lists/*
RUN echo "Pharo 32-bit prerequisities installed."
1.
https://github.com/seandenigris/smalltalkCI/tree/docker/repository/Smalltalk... 2. https://hub.docker.com/r/seandenigris/pharo/ 3. https://github.com/seandenigris/smalltalkCI/blob/docker/docker/Dockerfile
----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Herby VojÄÃk wrote
if you still find this docker useful, should I add you as contributor in dockerhub and write access in git so you could make builds for 70
Sure, can't hurt. Thanks. ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
participants (8)
-
Herbert VojÄÃk -
Herby VojÄÃk -
Marcus Denker -
Norbert Hartl -
phil@highoctane.be -
Pierce Ng -
Sean P. DeNigris -
Stephane Ducasse