Easily setup SAPCC in docker.
See my YouTube video for additional details: Installing SAP Cloud Connector (SAPCC) into Docker and connecting it to SAP Cloud Platform (SAPCP)
Check also my blog Installing SAP Cloud Connector into Docker and connecting it to SAP Cloud Platform. There you'll find links to the whole blog series.
The Dockerfile is based on https://github.com/PaxSchweiz/SAPHCPConnector/blob/master/Dockerfile
Install Docker
Windows: Make sure you are running on Windows 10! For installing Docker you will need admin rights on your machine. Furthermore, you might have to run your Terminal/CLI as "Administrator" in case your current user is not an admin user (i.e. GitBash, PowerShell).
Install Git
On Windows I suggest to install Git Bash as well (you'll be asked during the installation process).
Hint: Installing git is actually not really needed. Alternatively, you could also copy/download this Dockerfile to yor machine manually.
Clone this repo
git clone https://github.com/nzamani/sap-cloud-connector-docker.git
cd sap-cloud-connector-docker
Check current version of sapcc
Write down the current version of Cloud Connector (e.g. 2.17.1).
Write down the current version of SAP JVM (e.g. 8.1.101)
Update Dockerfile
Open the Dockerfile in this folder and replace the version numbers of the following lines with the numbers you wrote down. You find the lines right at the top of the file.
ARG SAPCC_VERSION=2.17.1
ARG SAPJVM_VERSION=8.1.101
Instructions for the following commands
In the following chapters replace the placeholders \<sapcc-version> and _\<sapjvmversion> with the version numbers you wrote down.
Build the Docker image
#docker build \
# --build-arg SAPJVM_VERSION=<sapjvm-version> \
# --build-arg SAPCC_VERSION=<sapcc-version> \
# -t sapcc:<sapcc-version> .
#example:
# use the versions inside Dockerfile
docker build -t sapcc:2.17.1 .
# for Apple Silicon (ARM, i.e. M1/M2/M3) pass the platform (see https://docs.docker.com/desktop/mac/apple-silicon/)
docker build -t sapcc:2.17.1 --platform linux/amd64 .
# or pass your own version(s)
docker build \
--build-arg SAPJVM_VERSION=8.1.101 \
--build-arg SAPCC_VERSION=2.17.1 \
-t sapcc:2.17.1 .
Hint: Don't forget the dot at the end of the line!
If you're behind a proxy, add one or both of the following extra build arguments with appropriate values: http_proxy
and https_proxy
. If adding these arguments to the docker build
invocation on separate lines, don't forget to escape the newlines at the end with \
, e.g.:
docker build \
--build-arg SAPJVM_VERSION=8.1.101 \
--build-arg SAPCC_VERSION=2.17.1 \
--build-arg http_proxy=http://proxy.mycompany.corp:1234 \
--build-arg https_proxy=http://proxy.mycompany.corp:1234 \
-t sapcc:2.17.1 .
Hint: In a proxy environment your docker build
command (see above) will fail in case you don't set the proxy as mentioned above or in case you use wrong proxy settings. Also consider that you might have to set the proxy manually for some software installed in the container, i.e. for the SAPCC you can set it manually for each SAPCP connection.
HINT: Ignore the following errors: "Failed to get D-Bus connection: Operation not permitted"
Create a container running as a deamon
Optional: Delete or rename the old container to allow using the previous container name for the new container
#delete old container "sapcc"
docker rm sapcc
#or rename old container "sapcc" to "sapcc-2.11.0.3"
docker rename sapcc sapcc-2.11.0.3
Use this if you want to map the default SAP ports as they come on localhost (preferred)
#docker run -p 8443:8443 -h mysapcc --name sapcc -d sapcc:<sapcc-version>
#example:
docker run -p 8443:8443 -h mysapcc --name sapcc -d sapcc:2.17.1
Use this one if "random" ports on localhost are fine for you
#docker run -P -h mysapcc --name sapcc -d sapcc:<sapcc-version>
#example:
docker run -P -h mysapcc --name sapcc -d sapcc:2.17.1
Starting/Stopping the container
docker start sapcc
docker stop sapcc
Post Installation Steps
Logon to https://localhost:8443 with the default credentials:
You will be asked to change your password.
Hint: It might take a few seconds after you can access https://localhost:8443. This is because the SAP Cloud Connector needs some time to start (even though the Docker Container has immediately started).
Proxy Settings
A proxy can be set manually for each SAPCP connection after logging on to the SAPCC using a browser. Make sure to use the correct proxy settings (incl. credentials if required), otherwise your SAPCC might not be able to connect to your SAPCC account.
Your browser will not trust the certificate of your SAPCC, and that's expected behavior. However, access must work on any browser.
macOS Safari:
Access your SAPCC by clicking the button Show Details and afterwards simply click the link visit this website (a little hidden in the text flow).
Chrome:
The good old "access anyway" button is not displayed anymore. And here is the trick for Chrome on your macOS (should work on Windows as well):
For details see
saptrial
docker network create -d bridge saptrial
sapcc
to Network saptrial
+ make sapcc
available via alias mysapcc
docker network connect --alias mysapcc saptrial sapcc
docker network connect --alias vhcalnplci saptrial nwabap751
docker network connect --alias vhcalnplci.dummy.nodomain saptrial nwabap751
docker network disconnect saptrial nwabap751
docker network disconnect saptrial sapcc
docker network rm saptrial
# Suggestion: stop the container you want to backup before continuing
docker stop sapcc
# create an image "sapccbackup" from the container "sapcc"
docker commit sapcc sapccbackup:1
# later you can create a new container from the new image "sapccimage"
# Hint: if the ports etc are already used by other containers you must use different ports (or i.e. deleting the other containers first)
docker run -p 8443:8443 -h mysapcc --name sapccNewContainer -d sapccbackup:1
In case you followed my YouTube Video Installing SAP NW ABAP 7.51 SP02 into Docker or followed the steps described here then the following SAPCP Destinations can be used:
Field | Value |
---|---|
Name | NW_ABAP_751_Docker_BasicAuth |
Type | HTTP |
Description | NW ABAP 7.51 in Docker on localhost Basic |
Location ID | |
URL | https://nwabap751:44300/sap/opu/odata |
Proxy Type | OnPremise |
Authentication | BasicAuthentication |
User | DEVELOPER |
Password | Appl1ance |
Field | Value |
---|---|
Name | NW_ABAP_751_Docker_PrincipalPropagation |
Type | HTTP |
Description | NW ABAP 7.51 in Docker on localhost PP |
Location ID | |
URL | https://nwabap751:44300/sap/opu/odata |
Proxy Type | OnPremise |
Authentication | PrincipalPropagation |
Property | Value |
---|---|
WebIDEUsage | dev_abap,bsp_execute_abap,ui5_execute_abap,odata_abap,odata_gen |
WebIDESystem | NPL |
WebIDEEnabled | true |
HTML5.SocketReadTimeoutInSeconds | 300 |
Youtube: SAP HANA Academy - SAP CP: Blueprint #1.4: Cloud Connector Principal Propagation
Youtube: SAP HANA Academy - SAP CP: Blueprint #1.5 ABAP Principal Propagation
Youtube: SAP HANA Academy - SAP CP: Blueprint #1.6: Principal Propagation using X509 certificates
SAP Help: Creating Intermediate Certificates
SAP Community: How to Guide – Principal Propagation in an HTTPS Scenario