Installing OMERO with Docker on Google Cloud VM

I’m trying to install OMERO on a Google Cloud VM for testing before deciding to implement it in our small lab. I was able to follow the instructions here to user Docker to install it, but it seems to get stuck on “Starting OMERO.server.”

. Is there something I’m missing? The VM used was CentOS 7.

1 Like

The stdout of the OMERO server goes to a log file within the container. That location is a volume that you can store externally if you’d like: https://github.com/ome/omero-server-docker/#default-volumes

If the processes are all running, then I’d suggest trying to connect. If you can’t connect, we’ll need to look through those logs.

~Josh

Josh,

I should have mentioned before that I tried to connect but was not successful. I see both docker-example-omero_database and docker-example-omero_omero volumes, but I can’t seem to find the log file within those volumes.

-Jonathan

Hi Jonathan,

Gotcha.

If you run:

docker-compose exec omeroserver bash

You can find the logs under /opt/omero/server/OMERO.server/var. Alternatively, you can update https://github.com/ome/docker-example-omero/blob/24f45b4a8477cb675d5867483836dad9b0c8b9da/docker-compose.yml#L29 to use a persistent container or even use a local directory.

If no logs are being written, then there may be a larger problem? Do you have any local changes to your docker-compose.yml?

~Josh

Josh,

Thanks, I found the logs. It looks like the server isn’t initializing properly:

2020-11-25 19:16:45,576 INFO  [                       omero.util.Server] (MainThread) ********************************************************************************
2020-11-25 19:16:45,577 INFO  [                       omero.util.Server] (MainThread) Waiting 10000 ms on startup
2020-11-25 19:16:55,579 INFO  [                       omero.util.Server] (MainThread) Starting
2020-11-25 19:16:55,601 INFO  [                    omero.util.Resources] (Thread-2  ) Starting
2020-11-25 19:17:28,332 INFO  [                             omero.utils] (MainThread) Failed to get session on attempt 1
2020-11-25 19:17:38,334 INFO  [                             omero.utils] (MainThread) Failed to get session on attempt 2
2020-11-25 19:17:48,337 INFO  [                             omero.utils] (MainThread) Failed to get session on attempt 3
2020-11-25 19:17:58,343 INFO  [                             omero.utils] (MainThread) Failed to get session on attempt 4
2020-11-25 19:18:08,346 INFO  [                             omero.utils] (MainThread) Failed to get session on attempt 5
2020-11-25 19:18:18,355 INFO  [                             omero.utils] (MainThread) Failed to get session on attempt 6
2020-11-25 19:18:28,361 WARNI [                             omero.utils] (MainThread) Reason: exception ::omero::WrappedCreateSessionException
{
    reason = Server not fully initialized
    concurrency = True
    backOff = 1000
    type = ApiUsageException
}
2020-11-25 19:18:28,361 ERROR [                       omero.util.Server] (MainThread) Failed initialization
Traceback (most recent call last):
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/util/__init__.py", line 505, in run
    self.impl = self.impl_class(ctx)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/processor.py", line 765, in __init__
    omero.util.Servant.__init__(self, ctx, needs_session=needs_session)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/util/__init__.py", line 591, in __init__
    self.ctx.newSession()
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/util/__init__.py", line 352, in newSession
    self.communicator, stop_event=self.stop_event)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/util/__init__.py", line 229, in internal_service_factory
    raise excpt
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/util/__init__.py", line 218, in internal_service_factory
    sf = blitz.create(user, None)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/Glacier2_Session_ice.py", line 832, in create
    return _M_Glacier2.SessionManager._op_create.invoke(self, ((userId, control), _ctx))
omero.WrappedCreateSessionException: exception ::omero::WrappedCreateSessionException
{
    reason = Server not fully initialized
    concurrency = True
    backOff = 1000
    type = ApiUsageException
}
2020-11-25 19:18:28,377 INFO  [                       omero.util.Server] (MainThread) Cleanup
2020-11-25 19:18:28,377 INFO  [                       omero.util.Server] (MainThread) Stopped
2020-11-25 19:18:28,377 INFO  [                       omero.util.Server] (MainThread) ********************************************************************************
2020-11-25 19:18:28,378 INFO  [                    omero.util.Resources] (Thread-2  ) Halted
2020-11-25 19:18:28,414 WARNI [                                  stderr] (MainThread) 2020-11-25 19:18:28.414061 Processor-0: error: Traceback (most recent call last):
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/util/__init__.py", line 505, in run

I didn’t make any local changes to the docker compose file. I made a fresh VM with CentOS 7, installed both Docker and Docker-compose, and then ran:

docker-compose up -d
docker-compose logs -f

Thanks again,

Jonathan

How much memory does the VM have? It could be starved. The Blitz log file will tell you how much Java has been given. It should be in the gigabytes. ~J

I don’t see any mention of the Java memory in that log file:

2020-11-25 21:51:34,299 INFO  [                ome.services.blitz.Entry] (      main) Creating OMERO.blitz. Please wait...
2020-11-25 21:51:42,773 INFO  [        ome.services.util.ReadOnlyStatus] (      main) read-only status: db=false, repo=false
2020-11-25 21:51:42,806 WARN  [                          omero.security] (      main) trustStore property is empty, not setting
2020-11-25 21:51:42,806 WARN  [                          omero.security] (      main) trustStorePassword property is empty, not setting
2020-11-25 21:51:43,175 INFO  [          ome.services.util.DBPatchCheck] (      main) Verified database patch: OMERO5.4__0
2020-11-25 21:51:43,281 INFO  [           ome.services.util.DBUserCheck] (      main) User root.id = 0
2020-11-25 21:51:43,281 INFO  [           ome.services.util.DBUserCheck] (      main) User guest.id = 1
2020-11-25 21:51:43,281 INFO  [           ome.services.util.DBUserCheck] (      main) Group system.id = 0
2020-11-25 21:51:43,282 INFO  [           ome.services.util.DBUserCheck] (      main) Group user.id = 1
2020-11-25 21:51:43,282 INFO  [           ome.services.util.DBUserCheck] (      main) Group guest.id = 2
2020-11-25 21:51:44,175 INFO  [  ome.services.fulltext.FullTextAnalyzer] (      main) Initialized FullTextAnalyzer
2020-11-25 21:51:54,410 INFO  [       ome.services.scheduler.ThreadPool] (      main) ThreadPool: normal=(#50, 5000ms), background=(#10, 3600000ms)
2020-11-25 21:51:55,273 INFO  [         ome.services.util.TimeoutSetter] (      main) Query timeout set to 1000s for all users.
2020-11-25 21:51:56,663 INFO  [        ome.services.db.DatabaseIdentity] (      main) Using LSID format: urn:lsid:export.openmicroscopy.org:%s:776f8189-9792-412b-bcad-5993985d88ca_%s%s
2020-11-25 21:51:58,342 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341117190] time[1152] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:51:58,787 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341118343] time[443] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:51:59,317 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341118788] time[529] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:51:59,668 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341119317] time[350] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:00,035 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341119670] time[364] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:00,397 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341120035] time[361] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:00,778 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341120398] time[380] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:01,310 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341120778] time[531] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:01,587 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341121310] time[276] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:01,778 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341121587] time[190] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:01,859 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341121779] time[80] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:01,948 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341121861] time[87] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:02,209 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341121955] time[254] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:02,682 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341122209] time[472] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:02,983 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341122682] time[300] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:03,217 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341122983] time[234] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:03,355 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341123218] time[137] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:03,703 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341123356] time[347] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:04,158 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341123704] time[454] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:04,588 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606341124197] time[391] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-25 21:52:04,665 INFO  [                ome.io.nio.PixelsService] (      main) Using Bio-Formats Cache: /OMERO/BioFormatsCache
2020-11-25 21:52:04,676 INFO  [                ome.io.nio.PixelsService] (      main) PixelsService(path=/OMERO, resolver=ome.services.OmeroFilePathResolver@391b03b, backoff=ome.io.nio.SimpleBackOff(factor=275.6), sizes=ome.io.nio.ConfiguredTileSizes(w=256,h=256,W=3192,H=3192))
2020-11-25 21:52:05,131 INFO  [               ome.logic.LutProviderImpl] (      main) Successfully added 39 LUTs
2020-11-25 21:52:05,135 INFO  [    ome.services.fulltext.FullTextThread] (      main) Initializing Full-Text Indexer
2020-11-25 21:52:05,221 INFO  [  ome.services.pixeldata.PixelDataThread] (      main) Initializing PixelDataThread (create events only)
2020-11-25 21:52:07,158 INFO  [        ome.services.util.ServiceHandler] (      main)  Executor.doWork -- ensure enum values (rw)
2020-11-25 21:52:07,158 INFO  [        ome.services.util.ServiceHandler] (      main)  Args:    [null, InternalSF@1030218707]
2020-11-25 21:52:07,722 INFO  [    ome.security.basic.BasicEventContext] (      main)  cctx:    group=1
2020-11-25 21:52:08,944 INFO  [         ome.security.basic.EventHandler] (      main)  Auth:    user=0,group=1,event=1(Internal),sess=2dc87c55-35d5-432b-a825-9f764721a4f3
2020-11-25 21:52:08,984 INFO  [            ome.services.util.EnsureEnum] (      main) adding to database new enumeration value Format.FilePattern
2020-11-25 21:52:09,021 INFO  [       ome.security.basic.CurrentDetails] (      main) Adding log:INSERT,class ome.model.enums.Format,1
2020-11-25 21:52:09,052 INFO  [            ome.services.util.EnsureEnum] (      main) adding to database new enumeration value Format.Companion/FilePattern

The VM I was using had 4 GB memory, but I tried again with 16 GB and I got the same result.

Morning, Jonathan. Sorry, I ran out of steam last night.

The memory settings are in fact printed shortly after these lines you show:

2020-11-26 01:19:30,696 INFO  [                 org.perf4j.TimingLogger] (      main) start[1606353570657] time[38] tag[ome.io.nio.SimpleBackOff.256X256]
2020-11-26 01:19:30,705 INFO  [                ome.io.nio.PixelsService] (      main) Creating Bio-Formats Cache: /home/omero/workspace/OMERO-test-integration/data/BioFormatsCache
2020-11-26 01:19:30,706 INFO  [                ome.io.nio.PixelsService] (      main) PixelsService(path=/home/omero/workspace/OMERO-test-integration/data, resolver=ome.services.OmeroFilePathResolver@1dd443c1, backoff=ome.io.nio.SimpleBackOff(factor=34.7), sizes=ome.io.nio.ConfiguredTileSizes(w=256,h=256,W=3192,H=3192))
2020-11-26 01:19:30,706 INFO  [                ome.io.nio.PixelsService] (      main) Bio-Formats version is 6.6.0-SNAPSHOT
2020-11-26 01:19:30,826 INFO  [               ome.logic.LutProviderImpl] (      main) Successfully added 39 LUTs
2020-11-26 01:19:30,831 INFO  [    ome.services.fulltext.FullTextThread] (      main) Initializing Full-Text Indexer
2020-11-26 01:19:30,841 INFO  [  ome.services.pixeldata.PixelDataThread] (      main) Initializing PixelDataThread (create events only)
2020-11-26 01:19:30,852 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Language,Country,Charset,Timezone: en,US,UTF-8,UTC
2020-11-26 01:19:30,852 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Java version: 1.8.0_192; Linux; amd64; 3.10.0-1127.19.1.el7.x86_64
2020-11-26 01:19:30,852 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Max Memory (MB):   =   8533
2020-11-26 01:19:30,852 INFO  [      ome.services.util.JvmSettingsCheck] (      main) OS Memory (MB):    = 257688
2020-11-26 01:19:30,853 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Processors:        =     56

Can you run omero admin jvmcfg on your system? On my test server here I see:

JVM Settings:
============
blitz=-Xmx9600m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions # Settings({'max_system_memory': '64000'})
indexer=-Xmx4800m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
pixeldata=-Xmx7200m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
repository=-Xmx4800m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions

~Josh

Looks like mine is set much lower… Do I need to manually set the system memory?

JVM Settings:
============
blitz=-Xmx2498m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
indexer=-Xmx1665m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
pixeldata=-Xmx2498m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
repository=-Xmx1665m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
bash-4.2$ 

Hi Jonathan,

Can you try just increasing the percentage that blitz uses? See https://docs.openmicroscopy.org/omero/5.6.0/sysadmins/server-performance.html#examples

~Josh

Josh,

I increased the blitz percentage to 50, but it still looks like the server won’t complete startup:

bash-4.2$ OMERO.server/bin/omero admin jvmcfg
JVM Settings:
============
blitz=-Xmx8328m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions # Settings({'percent': '50'})
indexer=-Xmx1665m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
pixeldata=-Xmx2498m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
repository=-Xmx1665m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
bash-4.2$ OMERO.server/bin/omero admin restart          
Waiting on shutdown. Use CTRL-C to exit
.WARNING: Your server has not been configured for production use.
See https://docs.openmicroscopy.org/omero/latest/sysadmins/server-performance.html?highlight=poolsize
for more information.
No descriptor given. Using etc/grid/default.xml
Waiting on startup. Use CTRL-C to exit
ERROR:ConfigXml:Failed to remove temp file
Traceback (most recent call last):
  File "/opt/omero/server/venv3/bin/omero", line 11, in <module>
    sys.exit(main())
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/main.py", line 125, in main
    rv = omero.cli.argv()
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/cli.py", line 1784, in argv
    cli.invoke(args[1:])
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/cli.py", line 1222, in invoke
    stop = self.onecmd(line, previous_args)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/cli.py", line 1299, in onecmd
    self.execute(line, previous_args)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/cli.py", line 1381, in execute
    args.func(args)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/plugins/prefs.py", line 82, in open_and_clos
e_config
    config.close()
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/config.py", line 361, in close
    self.save()
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/config.py", line 333, in save
    self.write_element(icegrid)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/config.py", line 353, in write_element
    raise e
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero/config.py", line 343, in write_element
    temp_file.rename(self.filename)
  File "/opt/omero/server/venv3/lib64/python3.6/site-packages/omero_ext/path.py", line 1225, in rename
    os.rename(self, new)
FileNotFoundError: [Errno 2] No such file or directory: path('/opt/omero/server/OMERO.server/etc/grid/config.xml
.temp') -> '/opt/omero/server/OMERO.server/etc/grid/config.xml'

Am I setting it correctly? Alternatively, is there a preferred way of testing OMERO on a VM that’s easier? I’ve got it set to 2 vcpus, 16gb ram, 20 gb boot disk with CentOS 7. Seems like others have it working out of the box with Docker, but I’m wondering if there’s something I did in the setup that is complicating things.

Thanks again,

Jonathan

Hi Jonathan,

Sorry, I should have made the bridge to how the dockers are configured. Usually, you shouldn’t need to use docker-compose exec in order to enter the containers. That was really just a debugging session. Changes to the server should be made outside of the containers and then they should be restarted.

You can see https://github.com/ome/omero-server-docker/#configuration-variables for how configuration properties are passed to containers. This means you mean to add one or more lines to your docker-compose.yml:

in this case, something like:

CONFIG_omero_jvmcfg_percent_blitz: "50"

Then: docker-compose up-d should detect the change and restart the necessary container (i.e. omeroserver).

~Josh

Josh,

I was able to add the configuration line to docker-compose.yml and restart the omero server, but it still seems to be stuck starting up.

Hi @jsakkos

Could you give us some debugging information about your Docker system, e.g. the output of:

docker version

docker info

docker system df

docker image ls

docker volume ls

docker network ls

docker ps -a

In addition could you also check your OS system for potential problems?

sudo systemctl status docker -l

And also check through the logs for warnings or errors:

sudo journalctl -u docker

I have pasted the requested information below:

Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:03:45 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Server: Docker Engine - Community
 Engine:
  Version:          19.03.13
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       4484c46d9d
  Built:            Wed Sep 16 17:02:21 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.7
  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
 Debug Mode: false

Server:
 Containers: 4
  Running: 3
  Paused: 0
  Stopped: 1
 Images: 4
 Server Version: 19.03.13
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 8fba4e9a7d01810a393d5d25a3621dc101981175
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-1127.19.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 15.51GiB
 Name: instance-1
 ID: B62C:HFPJ:OHWM:VEXN:4OQD:MB4Y:ZAFZ:G35R:BU4H:MBZZ:GHKO:DLBZ
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              4                   4                   3.163GB             0B (0%)
Containers          4                   3                   864.4kB             0B (0%)
Local Volumes       4                   4                   116.2MB             0B (0%)
Build Cache         0                   0                   0B                  0B
REPOSITORY                            TAG                 IMAGE ID            CREATED             SIZE
postgres                              11                  6737d259fc4e        12 days ago         282MB
openmicroscopy/omero-server           5.6                 10208cc28a26        2 months ago        1.77GB
openmicroscopy/omero-web-standalone   5.6                 76c67a25ec1f        4 months ago        1.11GB
hello-world                           latest              bf756fb1ae65        11 months ago       13.3kB
DRIVER              VOLUME NAME
local               2bf454ab05b20f5cb9f0507cc5f2635d63c97da10945bb5fae2a37e8a0569aed
local               docker-example-omero_database
local               docker-example-omero_omero
local               e5b065eebee85f84669794101d92da3ae970621c8cff57b5c3931c804d5df643
NETWORK ID          NAME                         DRIVER              SCOPE
cb5b329a7412        bridge                       bridge              local
a0145b2c1ac8        docker-example-omero_omero   bridge              local
8687122dc236        host                         host                local
9311954a4d84        none                         null                local
CONTAINER ID        IMAGE                                     COMMAND                  CREATED             STATU
S                      PORTS                              NAMES
fda7019dbe23        openmicroscopy/omero-web-standalone:5.6   "/usr/local/bin/entr…"   45 minutes ago      Up 45
 minutes               0.0.0.0:4080->4080/tcp             docker-example-omero_omeroweb_1
9f2285e768cf        postgres:11                               "docker-entrypoint.s…"   45 minutes ago      Up 45
 minutes               5432/tcp                           docker-example-omero_database_1
cd0030da83ec        openmicroscopy/omero-server:5.6           "/usr/local/bin/entr…"   45 minutes ago      Up 45
 minutes               0.0.0.0:4063-4064->4063-4064/tcp   docker-example-omero_omeroserver_1
c2e1e4cea8df        hello-world                               "/hello"                 49 minutes ago      Exite
d (0) 49 minutes ago                                      vibrant_wiles
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-11-30 14:52:49 UTC; 50min ago
     Docs: https://docs.docker.com
 Main PID: 1538 (dockerd)
    Tasks: 33
   Memory: 1.6G
   CGroup: /system.slice/docker.service
           ├─1538 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─2180 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 4064 -container-ip 172.18.0.3 -co
ntainer-port 4064
           ├─2193 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 4063 -container-ip 172.18.0.3 -co
ntainer-port 4063
           └─2237 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 4080 -container-ip 172.18.0.4 -co
ntainer-port 4080
Nov 30 14:52:46 instance-1 dockerd[1538]: time="2020-11-30T14:52:46.002278572Z" level=info msg="ccResolverWrappe
r: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}" module=grpc
Nov 30 14:52:46 instance-1 dockerd[1538]: time="2020-11-30T14:52:46.002305255Z" level=info msg="ClientConn switc
hing balancer to \"pick_first\"" module=grpc
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.267743253Z" level=info msg="Loading containe
rs: start."
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.658864231Z" level=info msg="Default bridge (
docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP add
ress"
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.909709947Z" level=info msg="Loading containe
rs: done."
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.934727998Z" level=info msg="Docker daemon" c
ommit=4484c46d9d graphdriver(s)=overlay2 version=19.03.13
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.934926127Z" level=info msg="Daemon has compl
eted initialization"
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.965843770Z" level=info msg="API listen on /v
ar/run/docker.sock"
Nov 30 14:52:49 instance-1 systemd[1]: Started Docker Application Container Engine.
Nov 30 14:52:54 instance-1 dockerd[1538]: time="2020-11-30T14:52:54.961667387Z" level=info msg="ignoring event" 
module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
-- Logs begin at Mon 2020-11-30 14:50:00 UTC, end at Mon 2020-11-30 15:43:34 UTC. --
Nov 30 14:52:45 instance-1 systemd[1]: Starting Docker Application Container Engine...
Nov 30 14:52:45 instance-1 dockerd[1538]: time="2020-11-30T14:52:45.996201721Z" level=info msg="Starting up"
Nov 30 14:52:45 instance-1 dockerd[1538]: time="2020-11-30T14:52:45.998551264Z" level=info msg="parsed scheme: \
Nov 30 14:52:45 instance-1 dockerd[1538]: time="2020-11-30T14:52:45.998598672Z" level=info msg="scheme \"unix\" 
Nov 30 14:52:45 instance-1 dockerd[1538]: time="2020-11-30T14:52:45.998634908Z" level=info msg="ccResolverWrappe
Nov 30 14:52:45 instance-1 dockerd[1538]: time="2020-11-30T14:52:45.998656693Z" level=info msg="ClientConn switc
Nov 30 14:52:46 instance-1 dockerd[1538]: time="2020-11-30T14:52:46.002137717Z" level=info msg="parsed scheme: \
Nov 30 14:52:46 instance-1 dockerd[1538]: time="2020-11-30T14:52:46.002249285Z" level=info msg="scheme \"unix\" 
Nov 30 14:52:46 instance-1 dockerd[1538]: time="2020-11-30T14:52:46.002278572Z" level=info msg="ccResolverWrappe
Nov 30 14:52:46 instance-1 dockerd[1538]: time="2020-11-30T14:52:46.002305255Z" level=info msg="ClientConn switc
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.267743253Z" level=info msg="Loading containe
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.658864231Z" level=info msg="Default bridge (
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.909709947Z" level=info msg="Loading containe
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.934727998Z" level=info msg="Docker daemon" c
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.934926127Z" level=info msg="Daemon has compl
Nov 30 14:52:49 instance-1 dockerd[1538]: time="2020-11-30T14:52:49.965843770Z" level=info msg="API listen on /v
Nov 30 14:52:49 instance-1 systemd[1]: Started Docker Application Container Engine.
Nov 30 14:52:54 instance-1 dockerd[1538]: time="2020-11-30T14:52:54.961667387Z" level=info msg="ignoring event" 

I can’t see any obvious problems. Can you check your master.err and master.out OMERO.server logfiles, they’ll be under /opt/omero/server/OMERO.server/var

I was able to get OMERO running on an Ubuntu 18.04 machine we have. Still not sure what the problem was with the Google Cloud VM, but I have something to work with now.