- MVS TurnKey installations
- This Repo
- Quick start guide
- Detailed description
- References
The Docker Containers in this repo contain MVS installations, created and built by briliant gentlemen in the mainframe community. Without these MVS TurnKey installations, most of us would never get the pleasure of using MVS. All credit for the MVS TurnKey installations goes to these briliant MVS experts.
Thank you for all your work and contributions.
For a list of the Turnkey installations, please go to the References section at the end of this page.
The containers that can be provisioned using the code in this repo include the MVS TurnKey installations, plus additional software, such as the latest release of Hercules, Zellij and c3270, making it possible to start one or more MVS TurnKey installations and connect using tn3270 without requirering anything but Docker.
Using Docker compose and the compose.yml file from this repo, you can:
- Start all MVS TurnKey installations using one command
- Login to MVS using Zellij and c3270 emulator.
- Access the Hercules console
- Docker
- compose.yml. This is the only file required from github repo docker-mvs38j
- Install Docker.
- Download compose.yml into an empty directory.
- Run the following command from the directory containing compose.yml. (Note 1)
docker compose up -d
This will pull the container images from hub.docker.com and start a container for each of the MVS TurnKey installations.
- Run the following command to connect to MVS using Zellij and the c3270 emulator. c3270 How to...
docker exec -it ce ./zel3270
Press Ctrl + T
and use left and right arrow keys to switch tabs.
docker compose down
This will stop and remove the containers. (Note 2)
- Run the following command from the directory containing compose.yml. (Note 1)
docker compose up -d
This will pull the container images from hub.docker.com
and start a container for each of the MVS TurnKey installations in this repo,
which includes VM370, TK4, tk5upd3, MVS/CE
.
Use the -f
argument, to point to compose.yml file, if it isn't in the current directory.
E.g. if compose.yml is in your home directory docker compose -f ~/compose.yml up -d
To start a single container use the commands described below.
For example if you'd like to start MVS tk5upd3 use:
docker compose up -d tk5upd3
The following example shows a single MVS Container tk5upd3 and c3270 emulator.
- The container is started as described in the above command
- c3270 is accessed as described in Access MVS using tn3270
- The Hercules console is accessed as described in Access the Hercules console.
Stop and remove a single container
docker compose down tk5upd3
- Run the following command.
docker compose down
This will stop and remove the containers. (Note 2)
The subdirectories created during docker compose up
by volume mapping will not be removed.
The containers include Zellij, a terminal multiplexer, that has been configured to open a 3270 connection to all included containers.
- Run the following command to access MVS using Zellij and the included c3270 emulator. c3270 How to...
docker exec -it ce ./zel3270
This will start Zellij and open the c3270 emulator in the container named ce
, with connections to MVS in all containers, and make ce
the active connection.
Press Ctrl + T
and use left and right arrow keys to switch between tabs.
In the command example ce
is the name of the docker container, this container name
can be changed to another container name listed in Container naming, to have a different active connection at startup.
Access any of the MVS TurnKey installations that are started, using the included c3270, with the command below. c3270 How to...
Change the Container name ce
to one of the names listed in Container naming
docker exec -it ce ./tn3270
Access any of the MVS TurnKey installations that are started using your own tn3270
emulator, by connecting to localhost:port
. Change the port number to the number
listed in Port mappings.
./your-own-tn3270-emulator localhost:3270
- Run the following command to access the Hercules console for MVS/CE.
docker attach --detach-keys="ctrl-x" ce
In the command example ce
is the name of the docker container, the name
can be changed to another container name listed in Container naming, to get access to the Hercules console for any of the MVS TurnKey installations running in the containers.
Access the Hercules HTTP server for any of the MVS TurnKey installations, using a web browser, by connecting to localhost:port, by changing the port number to the number listed in Port mappings.
http://localhost:8880
Access the HTTPD server 2.0 using a web browser. Port numbers are listed in Port mappings.
http://localhost:8081
Name | Username | Pwd | Type |
---|---|---|---|
mts | MTS | aardvarks | How to... |
ST01 | ST01 | ||
vm370 | CMSUSER | CMSUSER | How to... |
KICKS | KICKS | CMS | |
tk4 | HERC01 | CUL8TR | TSO |
HERC02 | CUL8TR | TSO | |
HERC03 | PASS4U | TSO | |
HERC04 | PASS4U | TSO | |
IBMUSER | IBMPASS | TSO | |
tk5upd3 | HERC01 | CUL8TR | TSO |
HERC02 | CUL8TR | TSO | |
HERC03 | PASS4U | TSO | |
HERC04 | PASS4U | TSO | |
ce | IBMUSER | SYS1 | TSO |
MVSCE01 | CUL8TR | TSO | |
MVSCE02 | PASS4U | TSO | |
HERCULES | HERCULES | Hercules http server |
Container | |
---|---|
mts | Must be ipl'ed (Note 4) |
vm370 | Includes DOS/VS (Note 3) |
tk4 | |
tk5upd3 | |
ce |
DOS/VS is included in the vm370 container and the Hercules config file, vm370ce.conf have entries for the DOS/VS devices.
MTS must be manually ipl'ed as described in the link.
Name/port | Container | Host | |
---|---|---|---|
mts | 3270 | 3275 | tn3270 |
8081 | 8885 | Hercules http server | |
vm370 | 3270 | 3274 | tn3270 |
8081 | 8884 | Hercules http server | |
tk4 | 3270 | 3273 | tn3270 |
8038 | 8883 | Hercules http server | |
tk5upd3 | 3270 | 3271 | tn3270 |
8038 | 8881 | Hercules http server | |
8080 | 8081 | Httpd server 2.0 | |
ce | 2120 | 21 | FTPD Server |
2320 | 23 | Encrypted TN3270 | |
3270 | 3270 | tn3270 | |
3505 | 3505 | ASCII JES2 listener | |
3506 | 3508 | EBCDIC JES2 listener | |
8888 | 8880 | Hercules http server |
The subdirectories in column Host directory
will be created in the directory, where docker compose up -d
is executed. These directories will give you access to logs, disks printer output, included documentation and config files. If you do not want the folders created on your host, edit the compose.yml
file and remove the section named volumes:
.
Name | Host directory | Container |
---|---|---|
mts | ./mts/config | /conf |
./mts/log | /log | |
./mts/doc | /doc | |
./mts/dasd | /Disks | |
./mts/units | /Units | |
./mts/tapes | /Tapes | |
vm370 | ./vm370/config | /conf |
./vm370/log | /log | |
./vm370/doc | /doc | |
./vm370/dasd | /disks | |
./vm370/dosvs | /dosvs | |
tk4 | ./tk4/config | /conf |
./tk4/printers | /prt | |
./tk4/punchcards | /pch | |
./tk4/log | /log | |
./tk4/dasd | /dasd | |
./tk4/doc | /doc | |
tk5upd3 | ./tk5upd3/config | /conf |
./tk5upd3/printers | /prt | |
./tk5upd3/punchcards | /pch | |
./tk5upd3/log | /log | |
./tk5upd3/dasd | /dasd | |
./tk5upd3/doc | /doc | |
ce | ./ce/config | /config |
./ce/printers | /printers | |
./ce/punchcards | /punchcards | |
./ce/logs | /logs | |
./ce/dasd | /dasd | |
./ce/certs | /certs |
For detailed documentation please refer to the specific TurnKey installation documentation linked below.
The following software is used in the containers in this repo.
- Hercules - Hercules System/370, ESA/390, and z/Architecture Emulator
- MVS/CE - MVS/CE Docker image - By mainframed767
- MVS Turn Key 5 - by Rob Prins
- MVS Turn Key 4 - by Juergen Winkelmann
- VM370 - VM/370 Community Edition
- DOS/VS - DOS/VS 5pack release
- MTS - Michigan Terminal System
- c3270 - 3270 emulator for Linux
- Zellij - Zellij terminal multiplexer
- docker-mvs38j - Github repo with docker files for building these containers