New Docker Image for CGWire

Here’s what I get.

$ docker exec -it cgwire supervisorctl start postgresql
postgresql: ERROR (spawn error)

Oh and I should have mentioned, this is from Docker running on Windows, via Docker Toolbox, which as I mentioned is a Linux VM running under VirtualBox. And again, the original instructions work well on Docker running under Linux.

I can’t say why it would work differently however, I’ve never encountered this before and I’ve built and started hundreds of images cross-platform in this way. My original cgwire Docker image was built on Windows too.

Some potentially useful debug information.

$ docker logs cgwire -t -f
2017-11-15T11:27:48.847839624Z Running with existing database in /var/lib/postgresql
2017-11-15T11:27:48.855850399Z Running Zou...
2017-11-15T11:27:49.013973561Z 2017-11-15 11:27:49,013 CRIT Supervisor running as root (no user in config file)
2017-11-15T11:27:49.024583083Z 2017-11-15 11:27:49,023 INFO RPC interface 'supervisor' initialized
2017-11-15T11:27:49.024601085Z 2017-11-15 11:27:49,024 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2017-11-15T11:27:49.024606002Z 2017-11-15 11:27:49,024 INFO supervisord started with pid 10
2017-11-15T11:27:50.027872710Z 2017-11-15 11:27:50,026 INFO spawned: 'gunicorn' with pid 13
2017-11-15T11:27:50.028862138Z 2017-11-15 11:27:50,028 INFO spawned: 'gunicorn-events' with pid 14
2017-11-15T11:27:50.032872480Z 2017-11-15 11:27:50,032 INFO spawned: 'redis' with pid 15
2017-11-15T11:27:50.034861845Z 2017-11-15 11:27:50,034 INFO spawned: 'postgresql' with pid 16
2017-11-15T11:27:50.045390634Z 2017-11-15 11:27:50,044 INFO spawned: 'nginx' with pid 17
2017-11-15T11:27:50.191979931Z 2017-11-15 11:27:50,191 INFO exited: postgresql (exit status 1; not expected)
2017-11-15T11:27:51.194169901Z 2017-11-15 11:27:51,193 INFO success: gunicorn entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-11-15T11:27:51.194189107Z 2017-11-15 11:27:51,193 INFO success: gunicorn-events entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-11-15T11:27:51.194194029Z 2017-11-15 11:27:51,193 INFO success: redis entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-11-15T11:27:51.195658934Z 2017-11-15 11:27:51,194 INFO spawned: 'postgresql' with pid 36
2017-11-15T11:27:51.195671322Z 2017-11-15 11:27:51,194 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-11-15T11:27:51.295245139Z 2017-11-15 11:27:51,294 INFO exited: postgresql (exit status 1; not expected)
2017-11-15T11:27:53.298664087Z 2017-11-15 11:27:53,297 INFO spawned: 'postgresql' with pid 41
2017-11-15T11:27:53.352694089Z 2017-11-15 11:27:53,352 INFO exited: postgresql (exit status 1; not expected)
2017-11-15T11:27:56.357566642Z 2017-11-15 11:27:56,357 INFO spawned: 'postgresql' with pid 48
2017-11-15T11:27:56.371897691Z 2017-11-15 11:27:56,371 INFO exited: postgresql (exit status 1; not expected)
2017-11-15T11:27:57.372968214Z 2017-11-15 11:27:57,372 INFO gave up: postgresql entered FATAL state, too many start retries too quickly
2017-11-15T14:27:14.410956118Z 2017-11-15 14:27:14,410 INFO spawned: 'postgresql' with pid 75
2017-11-15T14:27:14.560709270Z 2017-11-15 14:27:14,560 INFO exited: postgresql (exit status 1; not expected)
2017-11-15T14:27:15.564228916Z 2017-11-15 14:27:15,563 INFO spawned: 'postgresql' with pid 76
2017-11-15T14:27:15.576664407Z 2017-11-15 14:27:15,576 INFO exited: postgresql (exit status 1; not expected)
2017-11-15T14:27:17.584393427Z 2017-11-15 14:27:17,582 INFO spawned: 'postgresql' with pid 77
2017-11-15T14:27:17.595877034Z 2017-11-15 14:27:17,595 INFO exited: postgresql (exit status 1; not expected)
2017-11-15T14:27:20.601435160Z 2017-11-15 14:27:20,601 INFO spawned: 'postgresql' with pid 78
2017-11-15T14:27:20.615126737Z 2017-11-15 14:27:20,614 INFO exited: postgresql (exit status 1; not expected)
2017-11-15T14:27:21.616613601Z 2017-11-15 14:27:21,616 INFO gave up: postgresql entered FATAL state, too many start retries too quickly

Just took this for a spin. +1 for these easy to use Docker images, and +2 for production Docker images :slight_smile:

Was meet with something that look like a bug:

Capture

This half screen on a 1920x1080 screen. When you expand to full screen the button text appears:

Capture

Sorry if you have already covered these questions and requests.
I like to flag everything I can think of, before I get too used to an application.

  • Maybe you should be able to sort the “Task Types” by “Priority” and “For”. If you don’t want to add functionality for sorting, then maybe just have to sorted by “For” then “Priority” then “Name”, for a better overview of the production pipeline.
  • When adding a task type, the “Priority” is a dropdown menu. Should this not be a spinner for integer inputs?
  • Sorry for being an idiot user, but you seem to be able to add duplicate episodes/sequences/shots, though its seems to sort itself out when you refresh the page:
    Capture
  • Might be nice with an autosave option on the breakdown page.
  • Can you assign an asset to a episode/sequence or multiple shots at one time?
  • Seems like you have to have an episode to create a shot? Can you not work purely with sequences/shots or even just shots?
  • I seem to be missing something to add tasks?

Thank you again @tokejepsen for the feedback, it is very helpful. But, I have something to ask to you. Can you open a new topic with your feedback? It is not related to the Docker image, so it may be confusing for visitors. Then I will answer to your questions in this new topic.

Good point :slight_smile: https://forum.cg-wire.com/t/kitsu-feedback/50

You still put “Docker” in the title though, I think what Frank is saying is that the issues aren’t related to Docker at all. :slight_smile:

Was minimum of 15 character limitation on the title, and that was the first thing that sprung to mind :slight_smile:
Changed now.

Ah right, I hate those things. Note to Frank, remove those silly limits. Including the ones in messages. It’s first thing I turn off on my forums.

I lower down the limit. Thx @marcus for the suggestion and the Docker image feedback.

About the windows incompatibility can you open an issue? We cannot afford to spend too much time on a non standard platform right now. We will come back to this later.

@marcus, maybe not a viable option for you to test this, but Windows 10 and Hyper-V works for me.

1 Like

It’s no problem for me personally, it was more of a bug report than a problem I was looking to have solved. I’ve got it up and running on a vanilla Linux machine and all is working well.

As for Hyper-V, that’s actually good news; that’s the newer, default and promoted method of running Docker on Windows. Which means this would only ever be a problem for the small minority running the old “Docker Toolbox” (which is necessary in order to run non-Hyper-V machines in parallel, via e.g. VMWare Workstation and VirtualBox that doesn’t function when Hyper-V is enabled).

1 Like

PostgreSQL is unable to start, could you paste output of the command below ?

$ docker exec -it cgwire cat /var/log/postgresql/postgresql-9.5-main.log

No space left on device

There it is!

$ docker exec -it cgwire cat /var/log/postgresql/postgresql-9.5-main.log
2017-11-14 20:35:22 UTC [21-1] LOG:  could not bind IPv6 socket: Cannot assign requested address
2017-11-14 20:35:22 UTC [21-2] HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2017-11-14 20:35:22 UTC [22-1] LOG:  database system was shut down at 2017-11-14 20:32:04 UTC
2017-11-14 20:35:22 UTC [22-2] LOG:  MultiXact member wraparound protections are now enabled
2017-11-14 20:35:22 UTC [21-3] LOG:  database system is ready to accept connections
2017-11-14 20:35:22 UTC [26-1] LOG:  autovacuum launcher started
2017-11-14 20:35:23 UTC [28-1] [unknown]@[unknown] LOG:  incomplete startup packet
2017-11-14 20:35:26 UTC [21-4] LOG:  received fast shutdown request
2017-11-14 20:35:26 UTC [21-5] LOG:  aborting any active transactions
2017-11-14 20:35:26 UTC [26-2] LOG:  autovacuum launcher shutting down
2017-11-14 20:35:26 UTC [23-1] LOG:  shutting down
2017-11-14 20:35:26 UTC [23-2] LOG:  database system is shut down
2017-11-14 20:35:42 UTC [21-1] LOG:  could not bind IPv6 socket: Cannot assign requested address
2017-11-14 20:35:42 UTC [21-2] HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2017-11-14 20:35:42 UTC [22-1] LOG:  database system was shut down at 2017-11-14 20:35:26 UTC
2017-11-14 20:35:42 UTC [22-2] LOG:  MultiXact member wraparound protections are now enabled
2017-11-14 20:35:42 UTC [21-3] LOG:  database system is ready to accept connections
2017-11-14 20:35:42 UTC [26-1] LOG:  autovacuum launcher started
2017-11-14 20:35:43 UTC [29-1] [unknown]@[unknown] LOG:  incomplete startup packet
2017-11-14 20:36:03 UTC [21-4] LOG:  received fast shutdown request
2017-11-14 20:36:03 UTC [21-5] LOG:  aborting any active transactions
2017-11-14 20:36:03 UTC [26-2] LOG:  autovacuum launcher shutting down
2017-11-14 20:36:03 UTC [23-1] LOG:  shutting down
2017-11-14 20:36:03 UTC [23-2] LOG:  database system is shut down
2017-11-15 11:27:50 UTC [16-1] FATAL:  could not create lock file "postmaster.pid": No space left on device
2017-11-15 11:27:51 UTC [36-1] FATAL:  could not create lock file "postmaster.pid": No space left on device
2017-11-15 11:27:53 UTC [41-1] FATAL:  could not create lock file "postmaster.pid": No space left on device
2017-11-15 11:27:56 UTC [48-1] FATAL:  could not create lock file "postmaster.pid": No space left on device
2017-11-15 14:27:14 UTC [75-1] FATAL:  could not create lock file "postmaster.pid": No space left on device
2017-11-15 14:27:15 UTC [76-1] FATAL:  could not create lock file "postmaster.pid": No space left on device
2017-11-15 14:27:17 UTC [77-1] FATAL:  could not create lock file "postmaster.pid": No space left on device
2017-11-15 14:27:20 UTC [78-1] FATAL:  could not create lock file "postmaster.pid": No space left on device

I cleared up some space, and now it all works well.

This is a rare problem in general, but common in my experience and I think for anyone running Docker on Mac or Windows under VirtualBox, as it isn’t obvious how much space is left on the virtual machine hosting Docker. I also noticed that Docker on Windows without Toolbox only works on Windows 10 Pro and above, so it’s possible most trying this on Windows to be affected by this problem.

Nice detective work, and thanks for your patience!

I seem to have issues now getting the container running correctly:

C:\Users\admin>docker run -p 80:80 --name cgwire cgwire/cgwire
Running Zou...
2017-11-20 18:15:43,356 CRIT Supervisor running as root (no user in config file)
2017-11-20 18:15:43,368 INFO RPC interface 'supervisor' initialized
2017-11-20 18:15:43,368 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2017-11-20 18:15:43,369 INFO supervisord started with pid 9
2017-11-20 18:15:44,371 INFO spawned: 'gunicorn' with pid 12
2017-11-20 18:15:44,372 INFO spawned: 'gunicorn-events' with pid 13
2017-11-20 18:15:44,376 INFO spawned: 'redis' with pid 14
2017-11-20 18:15:44,381 INFO spawned: 'postgresql' with pid 15
2017-11-20 18:15:44,383 INFO spawned: 'nginx' with pid 16
2017-11-20 18:15:45,493 INFO success: gunicorn entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-11-20 18:15:45,493 INFO success: gunicorn-events entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-11-20 18:15:45,494 INFO success: redis entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-11-20 18:15:45,494 INFO success: postgresql entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-11-20 18:15:45,494 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Capture

Thank you for reporting. I will look at it soon. Can you retry to build the image from scratch? Yesterday, I broke the Zou repository.

Just pulled from scratch, and getting the same error:

C:\Users\admin>docker run -d -p 80:80 --name cgwire cgwire/cgwire
Unable to find image 'cgwire/cgwire:latest' locally
latest: Pulling from cgwire/cgwire
660c48dd555d: Pull complete
4c7380416e78: Pull complete
421e436b5f80: Pull complete
e4ce6c3651b3: Pull complete
be588e74bd34: Pull complete
ba91036e1da2: Pull complete
135aff89e850: Pull complete
8ab17640e766: Pull complete
3afae30efbfe: Pull complete
b7d47e14d23e: Pull complete
9162abfea237: Pull complete
2b5e82509169: Pull complete
489dedefcfad: Pull complete
d6166ec48c48: Pull complete
daf8110233f5: Pull complete
c6ee957716a6: Pull complete
dc63f0a4aba0: Pull complete
0919bcb9a76f: Pull complete
9547b46f3b4d: Pull complete
2490b475dc9e: Pull complete
a758c95b0200: Pull complete
9c73a2abaf73: Pull complete
abbe4c53d7ab: Pull complete
6f7459924ea4: Pull complete
0eb03404bf46: Pull complete
1ed8a630f6b5: Pull complete
e74e9705bd88: Pull complete
Digest: sha256:ded0b97a2af8525dd6545f90f1281d99afb7d658cd083792521c96a51fb19abc
Status: Downloaded newer image for cgwire/cgwire:latest
04c51d839a57dc504f73a3f8c1fe9658c7046b0baf75071f384a84422054a7ab

I made a new build last night. It seems to work. Can you try again? Thank you again for testing the image.

If you setup a virtual machine (e.g. VirtualBox or VMWare) with Windows @frank then its possible could try these on your local machine. I think there’s a free development version of Windows you could use, if you don’t already have access.

Yes but my concern is not really to make it work on my own machine. I want to be sure it works on other people computer.

That said, it would be great to have a continuous integration for this image on Linux and Windows.