{"__v":26,"_id":"5637e74acfaa870d00cdeb7a","category":{"__v":8,"_id":"55faf958d0e22017005b8274","pages":["56268b3cc2781f0d00364bc0","5637bfa84dbdd919001b277d","5637e6fe97666c0d008656b6","5637e74acfaa870d00cdeb7a","5637e764f7e3990d007b2c52","5640baf604c3eb0d006fc43c","56cccb6894c8f00b00b83f24","56ddf68dba70f50e0033c6df"],"project":"55faf11ba62ba1170021a9a7","version":"55faf11ba62ba1170021a9aa","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-09-17T17:33:12.687Z","from_sync":false,"order":13,"slug":"bring-your-tools","title":"BRING YOUR TOOLS"},"parentDoc":null,"project":"55faf11ba62ba1170021a9a7","user":"554340dfb7f4540d00fcef1d","version":{"__v":37,"_id":"55faf11ba62ba1170021a9aa","project":"55faf11ba62ba1170021a9a7","createdAt":"2015-09-17T16:58:03.490Z","releaseDate":"2015-09-17T16:58:03.490Z","categories":["55faf11ca62ba1170021a9ab","55faf8f4d0e22017005b8272","55faf91aa62ba1170021a9b5","55faf929a8a7770d00c2c0bd","55faf932a8a7770d00c2c0bf","55faf94b17b9d00d00969f47","55faf958d0e22017005b8274","55faf95fa8a7770d00c2c0c0","55faf96917b9d00d00969f48","55faf970a8a7770d00c2c0c1","55faf98c825d5f19001fa3a6","55faf99aa62ba1170021a9b8","55faf99fa62ba1170021a9b9","55faf9aa17b9d00d00969f49","55faf9b6a8a7770d00c2c0c3","55faf9bda62ba1170021a9ba","5604570090ee490d00440551","5637e8b2fbe1c50d008cb078","5649bb624fa1460d00780add","5671974d1b6b730d008b4823","5671979d60c8e70d006c9760","568e8eef70ca1f0d0035808e","56d0a2081ecc471500f1795e","56d4a0adde40c70b00823ea3","56d96b03dd90610b00270849","56fbb83d8f21c817002af880","573c811bee2b3b2200422be1","576bc92afb62dd20001cda85","5771811e27a5c20e00030dcd","5785191af3a10c0e009b75b0","57bdf84d5d48411900cd8dc0","57ff5c5dc135231700aed806","5804caf792398f0f00e77521","58458b4fba4f1c0f009692bb","586d3c287c6b5b2300c05055","58ef66d88646742f009a0216","58f5d52d7891630f00fe4e77"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":["56cf44618acacb130081487b","56cf44f2287eb20b009f9eeb","56d4c5e38001e30b00896fc1"],"next":{"pages":[],"description":""},"createdAt":"2015-11-02T22:44:26.577Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"##STORE IMAGES CONTAINING TOOLS \n\nThe** CGC image registry** is a secure storage facility in the same data center as the CGC compute nodes. It is used to store [Docker images](doc:docker-basics) containing tools. Images there can be accessed by the CGC, in order to run the tools in the containers that the images are snapshots of. \n\nAlternatively, Docker's own image registry, Docker Hub, can be used to store images. Images stored in Docker Hub can also be accessed from the CGC. \n\nTo make your tools  available on the CGC, you should upload [Docker images](doc:docker-basics) containing them to Docker Hub or to the CGC Image Registry. \n\nThe CGC image registry is `cgc-images.sbgenomics.com`.\n\nNote that the image registry `cgc-images.sbgenomics.com` is the location of your Docker images on the CGC. Note that this doesn't point to a webpage, so you can't open `cgc-images.sbgenomics.com` in your browser.\n\n##REPOSITORIES IN THE CGC IMAGE REGISTRY\n\nImages in the CGC registry are arranged in **repositories**, which correspond to [projects on the CGC](doc:projects-on-the-cgc). You can access the images in all projects that you have [read permission](doc:set-permissions) for, so in addition to images that you have uploaded you can also use another user's images if you are a member of their project with read permission.\n\n###Repository names\n\nIn order to upload an image to the the CGC Image Registry, or run a tool from an image contained there, you will need to refer to the repository in which the image is housed. Repository names have the format `<user_name>/<project_name>`.\n\n<project_name> is the **short name** of a project on the CGC. The default short name of a project is obtained from the name chosen when creating the project, by converting it to lowercase, replacing any spaces with hyphens, and omitting any characters except alpha-numeric characters, hyphens and underscores. You have the option to override the default short name and enter your own when you create a project.\n\nIf you give your project the same name as another project you own, then a number will automatically be appended to <project_name>. This guarantees that <user_name>/<project_name> is unique.\nFor example, if you have a project called 'My Project' and you create another project with this name, the second will have the `<project_name> 'My-Project-1'`.\n[block:callout]\n{\n  \"type\": \"success\",\n  \"title\": \"Project short names\",\n  \"body\": \"You can also find your project short name by clicking on the project in the browser, and checking its URL.\"\n}\n[/block]\n\n<user_name> is the CGC user name of that project's creator. When you want to access your own images, <user_name> will just be your own user name. However, if you want to access an image from a project created by a colleague, you will need to know his or her user name and the name of their project in which the image is stored. You can check this information by looking at the projects that you can access listed on your dashboard on the CGC.\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"body\": \"Please be aware that your images in a repository the CGC image registry can be read by anybody who knows (or can guess) the name of the repository. For this reason, we recommend that you do not put sensitive data into containers whose images are stored there.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"Docker does not allow any non-alphanumerics in the repository name except for underscores. If your username or project name contains such characters, you'll need to replace them with underscores when setting the repository on the image.\\n\\nFor example, \\\"john.smith/my-repo\\\" should be referred to as \\\"john_smith/my_repo\\\".\"\n}\n[/block]\n###Image tags\n\nA repository can house multiple images. To identify images, each image can be given a unique **tag**. You can use a numerical tagging system, or use words or phrases as tags. If you do not specify a tag, the default tag is `latest`.\n\nTo fully specify an image in the CGC registry, enter its repository, followed by a colon, followed by the image tag: `<repository>:<tag>`\n\n###Repository paths\n\nTo refer to the location of images stored in the CGC image registry, use the full path: `cgc-images.sbgenomics.com/<repository>[:<tag>]`.\n\nYou will need to do this on the [Tool Editor](doc:the-tool-editor) in order to refer to the image containing your tool, if the image is stored in the CGC registry. If the image is stored in Docker Hub, you can enter just the Docker Hub repository instead.","excerpt":"Store images containing tools","slug":"the-cgc-image-registry","type":"basic","title":"The CGC Image Registry"}

The CGC Image Registry

Store images containing tools

##STORE IMAGES CONTAINING TOOLS The** CGC image registry** is a secure storage facility in the same data center as the CGC compute nodes. It is used to store [Docker images](doc:docker-basics) containing tools. Images there can be accessed by the CGC, in order to run the tools in the containers that the images are snapshots of. Alternatively, Docker's own image registry, Docker Hub, can be used to store images. Images stored in Docker Hub can also be accessed from the CGC. To make your tools available on the CGC, you should upload [Docker images](doc:docker-basics) containing them to Docker Hub or to the CGC Image Registry. The CGC image registry is `cgc-images.sbgenomics.com`. Note that the image registry `cgc-images.sbgenomics.com` is the location of your Docker images on the CGC. Note that this doesn't point to a webpage, so you can't open `cgc-images.sbgenomics.com` in your browser. ##REPOSITORIES IN THE CGC IMAGE REGISTRY Images in the CGC registry are arranged in **repositories**, which correspond to [projects on the CGC](doc:projects-on-the-cgc). You can access the images in all projects that you have [read permission](doc:set-permissions) for, so in addition to images that you have uploaded you can also use another user's images if you are a member of their project with read permission. ###Repository names In order to upload an image to the the CGC Image Registry, or run a tool from an image contained there, you will need to refer to the repository in which the image is housed. Repository names have the format `<user_name>/<project_name>`. <project_name> is the **short name** of a project on the CGC. The default short name of a project is obtained from the name chosen when creating the project, by converting it to lowercase, replacing any spaces with hyphens, and omitting any characters except alpha-numeric characters, hyphens and underscores. You have the option to override the default short name and enter your own when you create a project. If you give your project the same name as another project you own, then a number will automatically be appended to <project_name>. This guarantees that <user_name>/<project_name> is unique. For example, if you have a project called 'My Project' and you create another project with this name, the second will have the `<project_name> 'My-Project-1'`. [block:callout] { "type": "success", "title": "Project short names", "body": "You can also find your project short name by clicking on the project in the browser, and checking its URL." } [/block] <user_name> is the CGC user name of that project's creator. When you want to access your own images, <user_name> will just be your own user name. However, if you want to access an image from a project created by a colleague, you will need to know his or her user name and the name of their project in which the image is stored. You can check this information by looking at the projects that you can access listed on your dashboard on the CGC. [block:callout] { "type": "danger", "body": "Please be aware that your images in a repository the CGC image registry can be read by anybody who knows (or can guess) the name of the repository. For this reason, we recommend that you do not put sensitive data into containers whose images are stored there." } [/block] [block:callout] { "type": "warning", "body": "Docker does not allow any non-alphanumerics in the repository name except for underscores. If your username or project name contains such characters, you'll need to replace them with underscores when setting the repository on the image.\n\nFor example, \"john.smith/my-repo\" should be referred to as \"john_smith/my_repo\"." } [/block] ###Image tags A repository can house multiple images. To identify images, each image can be given a unique **tag**. You can use a numerical tagging system, or use words or phrases as tags. If you do not specify a tag, the default tag is `latest`. To fully specify an image in the CGC registry, enter its repository, followed by a colon, followed by the image tag: `<repository>:<tag>` ###Repository paths To refer to the location of images stored in the CGC image registry, use the full path: `cgc-images.sbgenomics.com/<repository>[:<tag>]`. You will need to do this on the [Tool Editor](doc:the-tool-editor) in order to refer to the image containing your tool, if the image is stored in the CGC registry. If the image is stored in Docker Hub, you can enter just the Docker Hub repository instead.