Question
Mark O'Reilly · Jan 31

Docker- Creating new files, windows- ubuntu

Hi:

I'm using Docker and I don't get how you create new folders in the container.

I'm using Docker on Windows running the iris health community.

I want to create 2 folders on the instance and be adding files to it; I must be missing something as i can't see how this gets easily managed?

May retry just downloading the main community HS edition not through docker but could how to amend the error

"Too many Cores (16) for InterSystems IRIS Community License." for the main installation not through docker- docker has that workaround but not seen one for a non docker installation?

 

Product version: IRIS 2020.1
20
2 0 10 124
Log in or sign up to continue

Hi Thanks I already resolved the core issues when using docker.

I don't know how to update files on docked instance as will get an access denied type error

For iris installed locally not through docker as it would be easier to create files it errors with the core issue as haven't seen steps how to solve this on a non docker instance.


*** Recovery started at Sun Jan 31 10:25:11 2021
     Current default directory: c:\intersystems\iris\mgr
 
01/31/21-10:25:11:820 (16268) 2 [Generic.Event] Too many Cores (16) for InterSystems IRIS Community License.

Permission denied issues come from a non-root environment configured for the latest few versions of IRIS. And, so, you don't have access to folders, out of access of user irisowner, which runs IRIS inside. This user has access to his home folder - /home/irisowner, and /usr/irissys, where IRIS installed. But you should know that anything created on a filesystem inside the container will disappear after its recreation. And it's how it supposed to work. If you need access from outside the container to created folder, or keep it save even when the container re-created, you have to bind some folder on your local filesystem inside the container, with --volume|-v option (do not forget to give permission to do it in docker settings).

I suppose, there is no way how to run Community Edition directly if you have so many cores, at least, yet. And at the moment, you can use Docker or virtualization, and Docker I would say preferable way.

Thanks, now I know there isn't an easy workaround I will just temporarily start my computer using 8 cores instead of 16 in startup when I plan to use it . I had played about with volumes but adding in as well the whole windows file system on it it was just too complex. Thanks

Good Old VMware Player would allow selecting processors, memory, access rights, ..
Docker is definitely no replacement to it. Just a hack.

irisowner just has no root access 

So i usually extend my Dockerfile this way:

ARG IMAGE=containers.intersystems.com/.......
FROM $IMAGE
USER root   
RUN echo "root:iris-2101" | chpasswd


and then with su root  I get all rights I need. 

doesn't help to limit CPUs

Why would you even need root in the container in runtime?

Usually, it means, that you doing something wrong.

  • I run apt-get during development
  • I edit various files
  • and I WANT TO HAVE FULL CONTROL over my environment at any level
  • and I hate any limiting in MY code

So, what's wrong with that? 

That makes life easier!
THANKS

My scenario has been:

I have a training work I did and it has File adapters for HL7. It needs to look at an IN and an OUT folder. 

To do the work also access is required to put files into the IN folder and the OUT folder. Without rights it is not possible to create these folders or access it in the docker. 

I'll have  a look at extending the dockerfile to do this. 

On reading I get why you may not want to modify a container at the runtime as it's just for getting the community version running on a non production environment (not even any sort of work environment just my own personal pc) making true use of Docker it doesn't particularly matter just as long as folders and files can be created when looking at stuff.