docker run --rm -v "factorio_saves:/factorio/saves" hugecannon/factorio:latest --create mygame
docker run -d --name factorio \
-p "34197:34197/udp" \
-v "factorio_saves:/factorio/saves" \
hugecannon/factorio:latest \
--start-server mygame
# ensure server is stopped
docker kill factorio
# copy save into volume
docker cp mygame.zip factorio:/factorio/saves/
# start server again
docker start factorio
docker cp factorio:/factorio/saves .
If you require an older version of the server, see the tags page, and use the appropriate tag. e.g. hugecannon/factorio:0.12.25