I pushed a docker image for WinCC OA to the docker hub.
docker pull vogler/winccoa
It is based on opensuse and WinCC OA 3.13 P009.
At the first startup it will ask for a system number and the system name.
root@debian1:~# docker run -t -i –name=oa1 vogler/winccoa startup
Please enter your desired system name and system number…
Do you wish to set the project to oa1 with num 1?
It will set the system number and the system name of the project. The projectname itself is currently always “WinCCOA”, but this does not matter, because every WinCC OA project will run in a seperate container.
To startup the container and the WinCC OA project, type:
root@debian1:~# docker start oa1
To enter the container:
docker exec -it oa1 bash
To get the ip of the container:
4304c34d368e:/ # ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:02
inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
To connect from a client to your container OA system you can expose ports from the container to the docker host (by using -p <source-port>:<destination-port> option at docker run…) or you may want to add a route to the bridged container network, in my case the bridged network is 172.17.0.0. On a Windows client you can add a route (192.168.1.115 is my Docker-Host-Ip):
route add 172.17.0.0 mask 255.255.255.0 192.168.1.115
for linux: route add -net 172.17.0.0 netmask 255.255.255.0 gw 192.168.1.115
Then you are able to ping your docker container network 172.17.0.2 from your client network (eg. 192.168.1.x) and so you are able to connect a WinCC OA client to the docker container project.
To start the WinCC OA console or the project administration enter the container (as shown before) and set the DISPLAY variable to your client (where you have to run a X-Window-System) and then you can start the console “startConsole”…