Now that you have a user with an organization in place; you can now push and pull in to this repo. You can also manages who has access to what repo based on the teams in your organization.
First thing you have to do is login to this new repo.
firefox http://quay.${ocproute}/repository
Once logged in, click on the right had side on your organization, in my case, I clicked on marketing
On this page it will say This namespace doesn't have any viewable repositories.
. Click on creating a new repository
Once you've clicked that, you'll see the Create New Repository
page. Here fill in the name as welcome-php
and leave the access as Private
(which is the default if you're doing it from the command line). It should look like this...
Now click on Create Private Repository
For this section, I will be pulling an image from the hostend Quay and then pushing it into this private instance.
NOTE You need to add your quay's domain name as an insecure registry. (This process may differ depending on what you're running on your client.
For example
$ sudo grep -B1 quay /etc/containers/registries.conf
[registries.insecure]
registries = ['quay.apps.54.241.70.195.nip.io']
Once you've gotten that set up, pull the quay.io/redhatworkshops/welcome-php
image to your local machine.
$ docker pull quay.io/redhatworkshops/welcome-php
Trying to pull quay.io/redhatworkshops/welcome-php...Getting image source signatures
Copying blob sha256:92058cf44053377a006500dd6593e87ff8ca67dc664f49a7a55b1dcda11af599
71.48 MB / 71.48 MB [======================================================] 3s
Copying blob sha256:8d846904080d377a49f8b4b1ab24c51e85ab24417ff494bb6cb986aaa7df3134
1.25 KB / 1.25 KB [========================================================] 0s
Copying blob sha256:89518257a7daa63c87cdd9cb2085f709cd73747549ac48561a3dd0059021f1e5
6.39 MB / 6.39 MB [========================================================] 0s
Copying blob sha256:061b2d93ca071f14e1d4b0bfa35b131b72b3aaae215f829c099aa2ad689c3b82
79.78 MB / 79.78 MB [======================================================] 3s
Copying blob sha256:a6219b80903c6c4c25a32a4506d817efe15beac3028533fe47e4af871696202a
43.16 MB / 43.16 MB [======================================================] 1s
Copying blob sha256:95b7cb38207ae46872653e4f8e7f5379f263b8290dd3ebbb564569ed4f1b18cb
243.46 KB / 243.46 KB [====================================================] 0s
Writing manifest to image destination
Now check to see if you have the image locally...it should look like this
$ docker images | grep welcome-php
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/redhatworkshops/welcome-php latest b57beebcb38c 5 weeks ago 592 MB
Now login to your Quay instance using the cli as user1
(the user who has access to the marketing
org)
$ docker login quay.${ocproute}
Username: user1
Password: *******
Login Succeeded!
Now tag the image to prepare it to be pushed/uploaded...
docker tag quay.io/redhatworkshops/welcome-php:latest quay.${ocproute}/marketing/welcome-php:latest
Now push this up to your instance
$ docker push quay.${ocproute}/marketing/welcome-php:latest
Getting image source signatures
Copying blob sha256:20a1b4e9f75b380b79e95e10028abbc659d9e2da4f4c3e0d17b1dd2ae37fd717
200.91 MB / 200.91 MB [===================================================] 27s
Copying blob sha256:8a325f8a1c47d5ebed8a831dc6059cd844fa786437f0eba44a6e4127edb74d7f
10.00 KB / 10.00 KB [======================================================] 0s
Copying blob sha256:21c4b876b68b4ecedb708c6434c66ef4df000bef55252f283cfb5be29b1a2e17
20.18 MB / 20.18 MB [======================================================] 2s
Copying blob sha256:cd8f678e75d4c7b1ff3e69b315d8b4fd391d2be527717a958627f81ecaf850c7
238.60 MB / 238.60 MB [===================================================] 32s
Copying blob sha256:95eeb452da25fb3ff40d7b6f5fb1b2d7ece2f2e2a37942c1666546678ee8025d
104.59 MB / 104.59 MB [===================================================] 17s
Copying blob sha256:de821eccf491b687d8a1d91b046a6abca476e1172b7677e58dda45fab4d46ab5
469.00 KB / 469.00 KB [====================================================] 0s
Writing manifest to image destination
Storing signatures
You've successfully pushed an image into your quay instance!
To test this, we will first delete the images (WARNING the following command will delete ALL your local images that have a name like welcome-php
)
docker rmi --force $(docker images | grep welcome | awk '{print $3}')
Also logout of your instance
docker logout quay.${ocproute}
You should now not have the welcome-php
in your local machine
$ docker images
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Try pulling the image...you should see an unauthorized
error message
$ docker pull quay.${ocproute}/marketing/welcome-php:latest
Trying to pull quay.apps.54.241.70.195.nip.io/marketing/welcome-php:latest...Failed
error pulling image "quay.apps.54.241.70.195.nip.io/marketing/welcome-php:latest": unable to pull quay.apps.54.241.70.195.nip.io/marketing/welcome-php:latest: unable to pull image: Error determining manifest MIME type for docker://quay.apps.54.241.70.195.nip.io/marketing/welcome-php:latest: Error reading manifest latest in quay.apps.54.241.70.195.nip.io/marketing/welcome-php: unauthorized: access to the requested resource is not authorized
Now login as user1
$ docker login -u user1 quay.${ocproute}
Password:
Login Succeeded!
You should be now be able to pull the image
$ docker pull quay.${ocproute}/marketing/welcome-php:latest
Trying to pull quay.apps.54.241.70.195.nip.io/marketing/welcome-php:latest...Getting image source signatures
Copying blob sha256:92058cf44053377a006500dd6593e87ff8ca67dc664f49a7a55b1dcda11af599
71.48 MB / 71.48 MB [======================================================] 6s
Copying blob sha256:8d846904080d377a49f8b4b1ab24c51e85ab24417ff494bb6cb986aaa7df3134
1.25 KB / 1.25 KB [========================================================] 0s
Copying blob sha256:89518257a7daa63c87cdd9cb2085f709cd73747549ac48561a3dd0059021f1e5
6.39 MB / 6.39 MB [========================================================] 0s
Copying blob sha256:061b2d93ca071f14e1d4b0bfa35b131b72b3aaae215f829c099aa2ad689c3b82
79.78 MB / 79.78 MB [======================================================] 4s
Copying blob sha256:a6219b80903c6c4c25a32a4506d817efe15beac3028533fe47e4af871696202a
43.16 MB / 43.16 MB [======================================================] 2s
Copying blob sha256:95b7cb38207ae46872653e4f8e7f5379f263b8290dd3ebbb564569ed4f1b18cb
243.46 KB / 243.46 KB [====================================================] 0s
Writing manifest to image destination
Storing signatures
b57beebcb38c0c390a9da77aca0485f4d420bff1aaacea1ccf29ec36d1adabc2
You should have your image now locally
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.apps.54.241.70.195.nip.io/marketing/welcome-php latest b57beebcb38c 5 weeks ago 592 MB
Clair, by default, scans all images for vulnerabilites. This is queued up as soon as the push finishes. Open up your browser to the marketing
organization and login as user1
firefox quay.${ocproute}/organization/marketing
Once logged in, you should see this page
Once you're here click on the welcome-php
repo you just pushed into.
On this page click on the tag icon on the left hand side. This will bring up the tag overview page. Here you can see the image has been scanned and issues have been found.
Click on the 12 high
(number might differ on yours) link to see an overview page. Feel free to browse around and see the issues and their fixes.
That's it! you can continue on to Assigning Users to Teams