I have not played with the Foreground feature before, but, I tried to do it right now, and it looks like, you can just publish port 63300 when you run the container, so, your host's telnet client will be able to connect to the Foreground port. 

If you wish, you can change the port number, by setting it directly to the global

Set tPortRangeStart=$G(^Ens.Config("FGTelnetRange","start"),63300)
Set tPortRangeEnd=$G(^Ens.Config("FGTelnetRange","end"),63499)

Link to documentation

Local way, is actually how it was designed by default, and how you'll get the best experience.

What issues did you face? 

In short how to start using it.

  • You need to configure access to your server through parameters under "objectscript.conn"
  • Use your local code, if you already have it, or export code from the server, once you are connected
  • Edit and save files as a usual file, will save it on the server and compile it, in case of any compilation issues it will notify you about it.

btw, if you would need to call other method which is also Python

Class User.Test
{

ClassMethod SomeMethod() As %String
{
  quit "test objectscript"
}

ClassMethod SomePythonMethod() As %String [ Language = python ]
{
  return "test python"
}

ClassMethod PTest() [ Language = python ]
{
  import iris
  print(iris.cls(__name__).SomeMethod())
  print(Test.SomePythonMethod())
}

}

In this case this method appears can be accessible through the python class named as the current class (without package), in my case it's Test