abap_trial_docker
Shell scripts that build a Docker image from the SAP NetWeaver ABAP Developer Edition 7.52 SP04 installation files and run it as an unprivileged container, setting the stable hostname the installer wants.
An AS ABAP to develop against normally means a virtual machine and an installation run by hand. createimage builds an image called abapdevedition from the 11 RAR archives of the 7.52 SP04 trial, which the reader downloads and extracts from SAP's trials page first, and runcontainer starts a container called abaptrial with the ports mapped; docker start, stop, rm and logs manage it from there, and the README gives the SAPGui, Eclipse and Visual Studio Code connection details for the running system. The installation is scripted rather than written as a single Dockerfile because Docker sets a hostname at start and the SAP installer wants a stable one: the scripts set the hostname and domain and patch the configuration files at startup, and run the process under catatonit so the container needs no privileges. What that costs is stated: a Linux machine with Docker, vm.max_map_count raised to 1000000, around 80 GB once installed and more than 100 during the build, and a few GB of RAM. It credits Jakub Filak's Dockerfile as what it is heavily based on.
Facts
Where it sits
Who is behind it
In the atlas: maintains 14, contributes to 21@marcellourbanimaintainer
Before choosing this
Signals
ActivityQuietNo published releases; repository quiet for 83 months
It publishes no releases, and its repository has been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
What it declares
Every artifact
- Type
- CLI
- Origin
- Independently maintained
As a CLI
- Distributed through
- does not say
Connections
Running the whole stack on a laptop against real bindings
Download
README
quoted from marcellourbani/abap_trial_docker under GPL-3.0, readSAP netweaver docker image scripts
These scripts create a SAP NetWeaver ABAP Developer Edition Docker image, and allow you to run it in a container
A docker image is a blueprint for a container, which is a self contained application. It looks like a dedicated virtual machine but it's not, and uses much less resources compared to a VM like this excellent Vagrant script by Alexander Tsybulsky
Tested on linux (arch). Once an image is created should be possible to run it in
This is heavily based on Jakub Filak's Dockerfile, which didn't work out of the box on my arch box
Requirements
For the installation:
-
a linux machine or VM for the build process, with Docker installed
-
enough map areas SAP needs 1000000, where the default is 65365. This must be set on the system, either by running
sudo sysctl -w vm.max_map_count=1000000or, better, by adding setting vm.max_map_count=1000000 to your config file (depends on your linux distribution I use /etc/sysctl.d/99-sysctl.conf on arch linux, could also create a new file only dor that , say /etc/sysctl.d/98-abap.conf )
-
lots of disk space. Once installed it should take around 80 Gb (46 for the image, a bit less for the container) but during the build it can require more than 100
-
a decent amount of free RAM, say 4 gb
For running the container:
- a Docker system (linux is probably best, but should work on )
- enough map areas (see above)
- some spare RAM. Not sure how much, I guess between 2 and 4 Gb. When idle this uses about 2.5 Gb, but I expect this to increase when you run stuff
Installation
-
Download the installation files
- Go to the SAP trials download page
- search for "7.52 SP04"
- accept the licence and download the 11 rar archives
- extract them in folder ABAP_Trial
-
run script createimage (this will take several minutes):
sudo ./createimage -
if everything works fine, you will end up with a docker image abapdevedition
-
start a container again this will take a while to start as it will copy the whole database from the image
sudo ./runcontainer
Yor new container will be called abaptrial, and will map the required ports to your local system ports. From here you can continue as any other AS ABAP installation from point E
Usage
To connect to your new SAP instance
-
SAPGui: open saplogon and create a new server connection with:
- Application server: your docker server IP address
- System number 00
- SID NPL
-
Eclipse: use the connection defined in saplogon
-
Visual studio code: Create a connection like this in your configuration file:
"abapfs.remote": { "NPL": { "url": "https://myserverIP:44300", "username": "developer", "password": "", "client": "001", "allowSelfSigned": true } }
Management
-
start the instance
sudo docker start abaptrial -
stop the instance (will try to do it nicely by stopping the server, and then kill it after 20 minutes)
sudo docker stop abaptrial -
delete the container (warning, all the data will be lost)
sudo docker rm abaptrial -
check the start/stop logs (as they are generated)
sudo docker logs -f abaptrialPress Ctrl+C to stop watching them
Technical details
This works by creating a temporary image, then running a container to install AS ABAP and save the final image
This is not idedeal, we would want a Dockerfile to do all the work in one stage, but mixes poorly with SAP installation process:
- Docker sets a dynamic hostname at start
- The installer wants a stable hostname and domain
Jakub Filak handles this with a custom library that allows mocking the hostname. I do it by setting the hostname and domainat installation/container start patching the configuration files at startup
This allows to put the installation files in a volume which speeds up the installation process (the total time is probably longer for this one, but it usually fails faster) and should end up in a slimmer image without the installation files As the whole process is scripted, I don't think this si a big deal
Also, I start the process using catatonit, which allows to run an unprivileged container
Others providing
Compare all 5 on the Local development page →- abap2UI5 Playgroundabap2UI5 PlaygroundABAP in the editor on the left and the abap2UI5 app it builds on the right, both inside one browser tab: the framework is transpiled to JavaScript at build time and the class in the editor is compiled when Run is pressed.community org, abapIn-browser ABAP editor beside the abap2UI5 app it builds
- web-abap2UI5web-abap2UI5A build pipeline and the page it deploys: the abap2UI5 backend downported, transpiled to JavaScript and webpacked into one script that runs inside a browser tab, with no server and no SAP system behind it.community org, abapabap2UI5 transpiled to JavaScript and run in a browser tab
- open-steamgateopen-steamgateAn ABAP application server you clone and run on your own machine: transpiled ABAP serving classic /IWBEP/ OData v2 to Fiori over a local database, with no SAP system attached.independent, abapLocal ABAP server serving /IWBEP/ OData v2 without an SAP system
- pokrakam/abapDevSysInitpokrakam/abapDevSysInitA single ABAP report that automates setting up a new ABAP Developer Edition or trial system, from the user profile and a GitHub RFC destination to fetching abapGit and pulling repositories.independent, abapABAP report setting up a new ABAP Developer Edition or trial system
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
History in the atlas
- First seen.
For your agent
- Ref
artifact:marcellourbani-abap-trial-docker- JSON
- /artifacts/marcellourbani-abap-trial-docker.json
- MCP
- Connecting an agent