linux docker image not starts on ZFS storage at Proxmox LXC
Closed this issue · 8 comments
Docker runs on ZFS backing filesystem type
Storage Driver: overlay2
Backing Filesystem: zfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: false
userxattr: true
when trying to run image we are getting error docker: failed to register layer: ApplyLayer exit status 1 stdout: stderr: unlinkat /usr/share/build-essential: invalid argument.
when storage type
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: false
userxattr: true
image starts without issues
how to run it on zfs ?
@Kramtoske could you provide the command line or compose file you use to start Orthanc ?
Thanks.
Note that we currently have no experience and no system with ZFS and this might take quite some time before we can reproduce, analyze and fix the issue.
@Kramtoske , can you try to run the base image ?
docker run -it osimis/orthanc-runner-base:bullseye-20230320-slim-stable bash
You should have the same error since the /usr/share/build-essential
folder should be there as well.
From that point, with your experience, you might be able to suggest a patch to this dockerfile
Thanks in advance for your help
Alain.
@amazy docker run -it osimis/orthanc-runner-base:bullseye-20230320-slim-stable bash
started up without any error
same issue found there nextcloud/all-in-one#1490 (reply in thread)
when image created not on lxc it created UIDs out of allowed ranges for lxc, when docker created in lxc it defines uid/gid in scope. https://kcore.org/2022/02/05/lxc-subuid-subgid/
As I understand it (but honestly, I don't understand much about it), there's nothing to do on our side but wait for a Docker patch or ask the user to remap ids. Is that correct ?
there's theoretical chance that setting user would help for example what we used on meddream and not met issues on any platform where we ran docker image
ENV SERVICE_USER="meddream"
ENV SERVICE_USER_ID="10001"
ENV SERVICE_GROUP="meddream"
ENV SERVICE_GROUP_ID="10001"
RUN groupadd -r -g $SERVICE_GROUP_ID $SERVICE_GROUP \
&& useradd -r $SERVICE_USER -u $SERVICE_USER_ID -g $SERVICE_GROUP_ID \
&& chown -R $SERVICE_USER:$SERVICE_GROUP /opt/meddream \
WORKDIR /opt/meddream/
USER $SERVICE_USER
@Kramtoske Could you try to do that in an image that you build and that derives from osimis/orthanc:23.4.0
?
Closing issue due to inactivity