Docker images and SALT
4 posts
• Page 1 of 1
Docker images and SALT
As one of my first experiments with Docker and friends I decided to see what I could do with the official images distributed and published by Dyalog on Docker Hub.
If I go:
I get an interactive session. I don't need an interactive session but it's a good way to experiment. If in the session I try and use any user-defined command I get this:
Yet the files with the commands are all there:
Is this an oversight? The same applies to dyalog/dyalog:17.1.
Should I try a different image?
EDIT: dyalog/dyalog:17.1-dbg seems to work. I spent a few minutes trying to understand the difference, but I don't see it.
If I go:
- Code: Select all
docker run -it dyalog/dyalog
I get an interactive session. I don't need an interactive session but it's a good way to experiment. If in the session I try and use any user-defined command I get this:
- Code: Select all
_______ __ _ ____ _____
| __ \ \ / //\ | | / __ \ / ____|
|_| | \ \_/ // \ | | | | | | |
| |\ // /\ \ | | | | | | | _
____| | | |/ / \ \| |___| |__| | |__| |
|_____/ |_/_/ \_\______\____/ \_____|
https://www.dyalog.com
*************************************************************************************
* This software is for non-commercial evaluation ONLY *
* https://www.dyalog.com/uploads/documents/Private_Personal_Educational_Licence.pdf *
*************************************************************************************
Dyalog APL/S-64 Version 17.1.36845 Unicode
For i86_64
Created: Aug 15 2019 at 00:13:45
Copyright (c) Dyalog Limited 1982-2019
]???
VALUE ERROR: Undefined name: ⎕SE.UCMD
Yet the files with the commands are all there:
- Code: Select all
)sh find / -name '*.dyalog'
find: ‘/root’: Permission denied
find: ‘/var/cache/apt/archives/partial’: Permission denied
find: ‘/var/cache/ldconfig’: Permission denied
/opt/mdyalog/17.1/64/unicode/Library/Core/APLProcess.dyalog
/opt/mdyalog/17.1/64/unicode/Library/Core/Tool.dyalog
/opt/mdyalog/17.1/64/unicode/Library/Conga/HttpCommand.dyalog
/opt/mdyalog/17.1/64/unicode/Library/Conga/HttpUtils.dyalog
/opt/mdyalog/17.1/64/unicode/Library/Conga/InitConga.dyalog
/opt/mdyalog/17.1/64/unicode/Library/Conga/FtpClient.dyalog
/opt/mdyalog/17.1/64/unicode/PublicCACerts/Export.dyalog
/opt/mdyalog/17.1/64/unicode/StartupSession/Link/Deserialise.dyalog
/opt/mdyalog/17.1/64/unicode/StartupSession/Link/Serialise.dyalog
/opt/mdyalog/17.1/64/unicode/StartupSession/Link/Install/WSLoaded-default.dyalog
/opt/mdyalog/17.1/64/unicode/StartupSession/Link/Install/RemoveLinks.dyalog
/opt/mdyalog/17.1/64/unicode/StartupSession/Link/Install/WSLoaded-clean.dyalog
/opt/mdyalog/17.1/64/unicode/StartupSession/Link/Install/BUILD_DYALOGSPACE.dyalog
/opt/mdyalog/17.1/64/unicode/StartupSession/Link/Test.dyalog
/opt/mdyalog/17.1/64/unicode/StartupSession/Dyalog/Serial.dyalog
/opt/mdyalog/17.1/64/unicode/SALT/core/Utils.dyalog
/opt/mdyalog/17.1/64/unicode/SALT/core/SALTUtils.dyalog
/opt/mdyalog/17.1/64/unicode/SALT/core/Parser.dyalog
/opt/mdyalog/17.1/64/unicode/SALT/core/UnicodeFile.dyalog
/opt/mdyalog/17.1/64/unicode/SALT/core/SALT.dyalog
[...]
Is this an oversight? The same applies to dyalog/dyalog:17.1.
Should I try a different image?
EDIT: dyalog/dyalog:17.1-dbg seems to work. I spent a few minutes trying to understand the difference, but I don't see it.
-
StefanoLanzavecchia - Posts: 113
- Joined: Fri Oct 03, 2008 9:37 am
Re: Docker images and SALT
Also dyalog:17.1-dbg adds its own problems, the main one being that, despite the name, it's impossible to debug what is happening if code execution errors. Surely that's due to my ignorance. I wouldn't mind a bit of guidance here...
But mainly, I'd like to know why []SE is empty in dyalog/dyalog or dyalog/dyalog:17.1.
Thank you.
But mainly, I'd like to know why []SE is empty in dyalog/dyalog or dyalog/dyalog:17.1.
Thank you.
-
StefanoLanzavecchia - Posts: 113
- Joined: Fri Oct 03, 2008 9:37 am
Re: Docker images and SALT
Hi Stefano! I could have sworn that I posted a reply to this yesterday, but I must have forgotten to submit it after going off to double-check something... By default, the Docker container starts APL with the -s (no session) flag, which is why SALT is not loaded. You can enable it after startup as follows:
Don't worry that it tells you it is unable to boot SALT (this is the thing I went off to investigate), it just hit an error trying to set the session font. UCMDs seem to work.
Alternatively, if you set RIDE_INIT, the script in the container will give you a session.
Hope this helps!
- Code: Select all
)load salt
enableSALT
Don't worry that it tells you it is unable to boot SALT (this is the thing I went off to investigate), it just hit an error trying to set the session font. UCMDs seem to work.
Alternatively, if you set RIDE_INIT, the script in the container will give you a session.
- Code: Select all
docker run -it -e RIDE_INIT=SERVE:*:4502 -p 4502:4502 dyalog/dyalog
Hope this helps!
-
Morten|Dyalog - Posts: 458
- Joined: Tue Sep 09, 2008 3:52 pm
Re: Docker images and SALT
It helps a lot, thank you very much! And it's something I could have figured out by myself given that /run contains:
With hindsight it all seems pretty obvious. I need more hindsight :)
- Code: Select all
if [ -n "${RIDE_INIT}" ]; then
$DYALOG/dyalog +s -q ${WS} $@
else
$DYALOG/dyalog -s ${WS} $@
fi
With hindsight it all seems pretty obvious. I need more hindsight :)
-
StefanoLanzavecchia - Posts: 113
- Joined: Fri Oct 03, 2008 9:37 am
4 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 1 guest
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group