Comments (12)
@runcom Sure, in principle, why not.
We do need to make sure that we don’t duplicate the development work in projectatomic/atomic ; and to the extent extraction already exists there, is there an actual, current or expected, benefit to reimplementing it here?
from skopeo.
We do need to make sure that we don’t duplicate the development work in projectatomic/atomic ; and to the extent extraction already exists there, is there an actual, current or expected, benefit to reimplementing it here?
the benefit would be to move this functionality to containers/image so it will be used by other ppl in other project
from skopeo.
related containers/image issue containers/image#38
from skopeo.
By following discussion in containers/image#38, I am Implementing gluster transport
as a start.
from skopeo.
@rhatdan @humblec You are both working on something broadly similar, or at least similar-sounding; are your efforts orthogonal or should they be coordinated?
from skopeo.
@mtrmac My plan is to enable gluster
trasnsport for skopeo copy as a start. Atm, I would like to enable default access protocol of gluster which is fuse
. This will look exact replica of dir
transport. Later I am planning to add more access protocols ( gluster-nfs, libgfapi..etc) of gluster. I am not sure what @rhatdan is working on. If it sound similar, yeah, we need to co-ordinate and move ahead :). I am new to this repo, so may be I am missing something seriously. Thanks for your thoughts.
from skopeo.
I am working on the idea of multiple share storages based on remote file systems. The basic idea is to have a local writable file system for creating and modifying images, but allow source images to be stored on multiple different file systems.
For example you might setup storage on /var/lib/nfs/storage where the storage is shared as a read only mount from a remote NFS Store. I would figure the same would work for gluster. Then these stores could be used by buildah and CRI-O for running containers.
I think we should stick to OverlayFS format for all of these file system storages to keep it simple. Now we could theoretically use a gluster share for the local storage, but this could be risky.
from skopeo.
Hi, would this feature allow for something like below -- efficiently downloading a set of related images so duplicate layers are not re-downloaded? Looking for a better alternative to a series of docker save
s.
# Copies a large image built FROM mybaseimage:latest
$ skopeo copy docker://myregistry:5000/myimage:latest dir:/var/lib/latest
# This should not have to re-download the layers for mybaseimage, since downloaded above
$ skopeo copy docker://myregistry:5000/mybaseimage:latest dir:/var/lib/latest
from skopeo.
Looking for a better alternative to a series of docker saves.
# Copies a large image built FROM mybaseimage:latest $ skopeo copy docker://myregistry:5000/myimage:latest dir:/var/lib/latest # This should not have to re-download the layers for mybaseimage, since downloaded above $ skopeo copy docker://myregistry:5000/mybaseimage:latest dir:/var/lib/latest
Independently of the ”shared storage” plans, which may deal with this in a systematic way, the dir:
backend does detect the presence of pre-existing layers, so something like this could work:
# Copies a large image built FROM mybaseimage:latest
# Downloads everything
$ skopeo copy docker://myregistry:5000/myimage:latest dir:/var/lib/derived-latest
# Hard-link all existing files into the destination for the other image. Trivially cheap.
$ cp -la /var/lib/derived-latest /var/lib/base-latest
# This should not have to re-download the layers for mybaseimage, since downloaded above
# … and it doesn't
$ skopeo copy docker://myregistry:5000/mybaseimage:latest dir:/var/lib/base-latest
The downside is that /var/lib/base-latest
will also contain links to layers which are not used in mybaseimage
at all; and of course, it is still the case that dir:$somedirectory
can only contain one image. dir:
is really a debugging tool, and if you want something with indexes and reference counts, right now it would be most straightforward to set up a full docker/distribution server, and use a direct skopeo copy docker://$yoursource dokcer://$thenewserver
.
from skopeo.
@runcom @mtrmac @vrothberg Is this still something we want?
from skopeo.
@rhatdan Wasn’t there some kind of “additional stores” functionality added to c/storage?
Note that the original request for “shared storage” came from you, so do we want this? :)
from skopeo.
Ok we will rely on additional stores for this.
from skopeo.
Related Issues (20)
- How to use skopeo container with credential helpers? HOT 3
- Error verifying signature: Invalid GPG signature: (*packet.Signature)( "nil)" HOT 7
- Have issue with upgrading skopeo version to 1.8.1 in ubuntu 22.04 HOT 4
- Does skopeo supports loading local docker tar.gz file into remote registry? HOT 8
- Why does updating skopeo to the latest version remove docker packages? HOT 15
- Skopeo copy job creates .kube/config directory structure failing Azure AKS kubelogin convert-kubeconfig command HOT 3
- Store multiple images in single tar file HOT 4
- Skopeo 1.15.0 is not available in alpinelinux packages HOT 1
- `v1.15.0` Container not available on quay.io HOT 2
- Copy to docker-daemon overlay2 storage HOT 6
- Will using the copy command save image information locally? HOT 2
- Skopeo copy fails HOT 3
- Add support for microsoft bicep module definitions. HOT 2
- The checks in hack/ directory hardcode `cc' HOT 4
- The ubuntu version doesn't support --preserve-digests parameter HOT 1
- authentication required for ECR repo HOT 5
- Error while trying to encrypt container image with skopeo HOT 6
- Can't use skopeo 1.15.0 HOT 3
- Failed to sign image with sigstore private key when using Harbor registry server HOT 3
- Feature Request/Verification - list tags matching latest HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from skopeo.