Build container locally

I’m trying to setup my own copy of container, but I seem to have problems with the cont-init.d/50-confit file in grocy. It fails on the shebang so permissions don’t come out correct. I assume it’s something about my environment, but I have no idea what.

Any insights?

we have 0 insights… you think it’s your environment but provide 0 details about your environment. :slight_smile:

Sorry, I’m expecting something obvious. I’m much better at copying other people’s work than my own, so I’m not actually that good with docker.

I’m not currently connected to that machine, but it’s Ubuntu 18.04 using docker-compose. Running the container directly works great, but if I try to build it locally, I get an error that exec bash can’t be found when trying to run 50-config on startup. All of the other cont-init.d files run fine, just not the custom one. I’m hoping there something super obvious that I’m not doing either during the build (some env thing thing?) or with my docker setup. If it helps, I can try to copy in a docker info?

Karl

I feel like you’re diving in a little deep with creating/building containers locally if you’re not good with docker… :smiley:

that said, did you modify the dockerfile at all? how are you building? what commands are you running?

I’ve been playing around quite a bit, but I must be missing some core knowledge.

I’m running the docker-compose below directly on a clone of grocy. The error message I get in the logs is during the execution of 50-config.

Here’s the error message:

[cont-init.d] 50-config: executing...
exec: fatal: unable to exec bash: No such file or directory
[cont-init.d] 50-config: exited 127.

Here’s my docker-compose:

version: '3'
services:
  grocy:
    build:
      context: ./docker-grocy
      args:
        BUILD_DATE: "2020-03-10"
        VERSION: "x.x"
    image: "grocy"
    container_name: grocy
    environment:
      PUID: 1000
      PGID: 1000
      TZ: "America/Los_Angeles"
    labels:
      traefik.enable: "true"
      traefik.frontend.rule: "Host:house.wooster.xyz"
      traefik.port: "80"
      traefik.docker.network: "plexguide"
    networks:
      - jarvis
    volumes:
      - /opt/appdata/grocy:/config

networks:
  jarvis:
    external:
      name: plexguide

And finally, from docker info:

Client:
 Debug Mode: false

Server:
 Containers: 23
  Running: 23
  Paused: 0
  Stopped: 0
 Images: 36
 Server Version: 18.09.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host 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: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-88-generic
 Operating System: Ubuntu 18.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 7
 Total Memory: 3.53GiB
 Name: jarvis
 ID: BOWF:QJIT:IOTS:Z6HS:PUXO:JHGQ:AS2B:DJ5F:2HWY:DDLP:WNE3:COJ7
 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
 Product License: Community Engine

WARNING: No swap limit support

This is one of those things where I feel like I’m just being a noob about it, but man, I can’t figure it out.

Thanks!

you have a ton of extra stuff in your compose, i feel like you’re taking something complex and making it more complex here. We provide a compose for you to use in our readme.

that said, when you did the build, did you encounter any errors? You didn’t provide any of that info.

as you can see here, i built this just fine, using the readme directions. I didnt use compose because i was just being quick, but it would work the same.


to tshoot further, we need to know how you built locally, what changes you made to the build (if any), and you probably need to remove all the extra crap in your compose until you actually have it running.
https://pastebin.com/RQ0h5Rvv

It appears to have been an encoding issue with the 50-config file. Re-cloning it seemed to fix it, and in my copy for barcodebuddy the issue was replicated. Overwriting that one from the grocy one fixed it. Weird, but it seems to be working now.

Thanks for your time! The testing I did following your steps is what showed me that the new clone worked, so it was very helpful.

awesome man, glad you got it worked out