translate repository into traditional chinese

This commit is contained in:
a504082002
2014-11-19 01:00:04 +08:00
parent 2c7762fecc
commit 47d4f30697
4 changed files with 74 additions and 74 deletions

View File

@@ -1,10 +1,10 @@
# 仓库 # 倉庫
仓库Repository是集中存放像的地方。 倉庫Repository是集中存放像的地方。
容易混淆的概念是注册服务Registry实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目。例如对于仓库地址 `dl.dockerpool.com/ubuntu` 来说`dl.dockerpool.com`注册服务器地址,`ubuntu`仓库名。 容易混淆的概念是註冊服務Registry實際上註冊服務器是管理倉庫的具體服務器,每個服務器上可以有多個倉庫,而每個倉庫下面有多個鏡像。從這方面來說,倉庫可以被認為是一個具體的項目或目。例如對於倉庫地址 `dl.dockerpool.com/ubuntu` 來說`dl.dockerpool.com`註冊服務器地址,`ubuntu`倉庫名。
大部分候,不需要严格区分这两者的概念。 大部分候,不需要嚴格區分這兩者的概念。

View File

@@ -1,28 +1,28 @@
## 仓库配置文件 ## 倉庫配置文件
Docker 的 Registry 利用配置文件提供了一些仓库的模板flavor可以直接使用它们来进行开发或生部署。 Docker 的 Registry 利用配置文件提供了一些倉庫的模板flavor可以直接使用它們來進行開發或生部署。
### 模板 ### 模板
`config_sample.yml` 文件中,可以看到一些成的模板段: `config_sample.yml` 文件中,可以看到一些成的模板段:
* `common`:基配置 * `common`:基配置
* `local`:存储数据到本地文件系 * `local`:存儲數據到本地文件系
* `s3`:存储数据到 AWS S3 中 * `s3`:存儲數據到 AWS S3 中
* `dev`:使用 `local` 模板的基本配置 * `dev`:使用 `local` 模板的基本配置
* `test`单元测试使用 * `test`單元測試使用
* `prod`:生产环境配置基本上跟s3配置似) * `prod`:生產環境配置基本上跟s3配置似)
* `gcs`:存储数据到 Google 的云存储 * `gcs`:存儲數據到 Google 的雲存儲
* `swift`:存储数据到 OpenStack Swift 服 * `swift`:存儲數據到 OpenStack Swift 服
* `glance`:存储数据到 OpenStack Glance 服,本地文件系统为后备 * `glance`:存儲數據到 OpenStack Glance 服,本地文件系統為後備
* `glance-swift`:存储数据到 OpenStack Glance 服Swift 为后备 * `glance-swift`:存儲數據到 OpenStack Glance 服Swift 為後備
* `elliptics`:存储数据到 Elliptics key/value 存 * `elliptics`:存儲數據到 Elliptics key/value 存
也可以添加自定的模版段。 也可以添加自定的模版段。
认情况下使用的模板是 `dev`,要使用某模板作为默认值,可以添加 `SETTINGS_FLAVOR`环境变量中,例如 認情況下使用的模板是 `dev`,要使用某模板作為默認值,可以添加 `SETTINGS_FLAVOR`環境變量中,例如
``` ```
export SETTINGS_FLAVOR=dev export SETTINGS_FLAVOR=dev
``` ```
另外,配置文件中支持从环境变量中加值,法格式 `_env:VARIABLENAME[:DEFAULT]` 另外,配置文件中支持從環境變量中加值,法格式 `_env:VARIABLENAME[:DEFAULT]`
### 示例配置 ### 示例配置
``` ```
@@ -54,4 +54,4 @@ test:
storage_path: /tmp/tmpdockertmp storage_path: /tmp/tmpdockertmp
``` ```
### 选项 ### 選項

View File

@@ -1,14 +1,14 @@
## Docker Hub ## Docker Hub
目前 Docker 官方维护了一公共仓库 [Docker Hub](https://hub.docker.com/),其中已包括了超 15,000 的像。大部分需求,都可以通在 Docker Hub 中直接下载镜像来实现 目前 Docker 官方維護了一公共倉庫 [Docker Hub](https://hub.docker.com/),其中已包括了超 15,000 的像。大部分需求,都可以通在 Docker Hub 中直接下載鏡像來實現
### 登 ### 登
可以通过执`docker login` 命令来输入用名、密码和邮箱来完成注册和登 可以通過執`docker login` 命令來輸入用名、密碼和郵箱來完成註冊和登
注册成功,本地用户目录`.dockercfg`保存用户的认证信息。 註冊成功,本地用戶目錄`.dockercfg`保存用戶的認證信息。
### 基本操作 ### 基本操作
户无需登即可通 `docker search` 命令查找官方仓库中的像,利用 `docker pull` 命令来将它下到本地。 戶無需登即可通 `docker search` 命令查找官方倉庫中的像,利用 `docker pull` 命令來將它下到本地。
例如以 centos 为关键词进行搜索: 例如以 centos 為關鍵詞進行搜索:
``` ```
$ sudo docker search centos $ sudo docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED NAME DESCRIPTION STARS OFFICIAL AUTOMATED
@@ -19,16 +19,16 @@ saltstack/centos-6-minimal
tutum/centos-6.4 DEPRECATED. Use tutum/centos:6.4 instead. ... 5 [OK] tutum/centos-6.4 DEPRECATED. Use tutum/centos:6.4 instead. ... 5 [OK]
... ...
``` ```
可以看到返回了很多包含关键字的像,其中包括像名字、描述、星(表示该镜像的受迎程度)、是否官方建、是否自动创建。 可以看到返回了很多包含關鍵字的像,其中包括像名字、描述、星(表示該鏡像的受迎程度)、是否官方建、是否自動創建。
官方的镜像说明是官方项目组创建和维护automated 源允许用户验证镜像的源和容。 官方的鏡像說明是官方項目組創建和維護automated 源允許用戶驗證鏡像的源和容。
是否是官方提供,可将镜像资源分为两类 是否是官方提供,可將鏡像資源分為兩類
种是类似 centos 这样的基础镜像,被称为基础或根像。些基础镜像是由 Docker 公司建、验证、支持、提供。这样的镜像往往使用单个单词作为名字。 種是類似 centos 這樣的基礎鏡像,被稱為基礎或根像。些基礎鏡像是由 Docker 公司建、驗證、支持、提供。這樣的鏡像往往使用單個單詞作為名字。
有一种类型,比如 `tianon/centos` 像,它是由 Docker 的用户创建并维护的,往往有用户名称前缀。可以通过前缀 `user_name/` 指定使用某个用户提供的像,比如 tianon 用 有一種類型,比如 `tianon/centos` 像,它是由 Docker 的用戶創建並維護的,往往有用戶名稱前綴。可以通過前綴 `user_name/` 指定使用某個用戶提供的像,比如 tianon 用
另外,在查找的候通 `-s N` 参数可以指定仅显示评价为 `N` 星以上的像。 另外,在查找的候通 `-s N` 參數可以指定僅顯示評價為 `N` 星以上的像。
官方 centos 像到本地。 官方 centos 像到本地。
``` ```
$ sudo docker pull centos $ sudo docker pull centos
Pulling repository centos Pulling repository centos
@@ -37,19 +37,19 @@ Pulling repository centos
511136ea3c5a: Download complete 511136ea3c5a: Download complete
7064731afe90: Download complete 7064731afe90: Download complete
``` ```
也可以在登录后通过 `docker push` 命令来将镜像推送到 Docker Hub。 也可以在登錄後通過 `docker push` 命令來將鏡像推送到 Docker Hub。
### 自动创 ### 自動創
动创Automated Builds功能对于需要常升级镜像内程序来说,十分方便。 動創Automated Builds功能對於需要常升級鏡像內程序來說,十分方便。
候,用户创建了像,安了某个软件,如果软件发布新版本需要手更新像。。 候,用戶創建了像,安了某個軟件,如果軟件發布新版本需要手更新像。。
而自动创建允许用户通过 Docker Hub 指定跟踪一个目标网站(目前支持 [GitHub](github.org) 或 [BitBucket](bitbucket.org))上的目,一旦项目发生新的提交,则自动执行创建。 而自動創建允許用戶通過 Docker Hub 指定跟蹤一個目標網站(目前支持 [GitHub](github.org) 或 [BitBucket](bitbucket.org))上的目,一旦項目發生新的提交,則自動執行創建。
要配置自动创建,包括如下的步 要配置自動創建,包括如下的步
* 创建并登陆 Docker Hub以及目标网站; * 創建並登陸 Docker Hub以及目標網站;
* 在目标网站中连接帐户到 Docker Hub * 在目標網站中連接帳戶到 Docker Hub
* 在 Docker Hub 中 [配置一个自动创](https://registry.hub.docker.com/builds/add/) * 在 Docker Hub 中 [配置一個自動創](https://registry.hub.docker.com/builds/add/)
* 取一个目标网站中的目(需要含 Dockerfile和分支 * 取一個目標網站中的目(需要含 Dockerfile和分支
* 指定 Dockerfile 的位置,提交建。 * 指定 Dockerfile 的位置,提交建。
,可以 在Docker Hub 的 [动创建页](https://registry.hub.docker.com/builds/) 中跟每次建的状态 ,可以 在Docker Hub 的 [動創建頁](https://registry.hub.docker.com/builds/) 中跟每次建的狀態

View File

@@ -1,18 +1,18 @@
## 私有仓库 ## 私有倉庫
候使用 Docker Hub 这样的公共仓库可能不方便,用可以建一本地仓库供私人使用。 候使用 Docker Hub 這樣的公共倉庫可能不方便,用可以建一本地倉庫供私人使用。
节介绍如何使用本地仓库 節介紹如何使用本地倉庫
`docker-registry` 是官方提供的工具,可以用于构建私有的镜像仓库 `docker-registry` 是官方提供的工具,可以用於構建私有的鏡像倉庫
### 安装运行 docker-registry ### 安裝運行 docker-registry
#### 容器 #### 容器
在安了 Docker ,可以通过获取官方 registry 镜像来运行。 在安了 Docker ,可以通過獲取官方 registry 鏡像來運行。
``` ```
$ sudo docker run -d -p 5000:5000 registry $ sudo docker run -d -p 5000:5000 registry
``` ```
这将使用官方的 registry 镜像来启动本地的私有仓库 這將使用官方的 registry 鏡像來啟動本地的私有倉庫
可以通指定参数来配置私有仓库位置,例如配置像存到 Amazon S3 服 可以通指定參數來配置私有倉庫位置,例如配置像存到 Amazon S3 服
``` ```
$ sudo docker run \ $ sudo docker run \
-e SETTINGS_FLAVOR=s3 \ -e SETTINGS_FLAVOR=s3 \
@@ -24,18 +24,18 @@ $ sudo docker run \
-p 5000:5000 \ -p 5000:5000 \
registry registry
```` ````
此外,可以指定本地路(如 `/home/user/registry-conf` )下的配置文件。 此外,可以指定本地路(如 `/home/user/registry-conf` )下的配置文件。
``` ```
$ sudo docker run -d -p 5000:5000 -v /home/user/registry-conf:/registry-conf -e DOCKER_REGISTRY_CONFIG=/registry-conf/config.yml registry $ sudo docker run -d -p 5000:5000 -v /home/user/registry-conf:/registry-conf -e DOCKER_REGISTRY_CONFIG=/registry-conf/config.yml registry
``` ```
认情况下,仓库会被创建在容器的 `/tmp/registry` 下。可以通 `-v` 参数来将镜像文件存放在本地的指定路 認情況下,倉庫會被創建在容器的 `/tmp/registry` 下。可以通 `-v` 參數來將鏡像文件存放在本地的指定路
例如下面的例子将上传的镜像放到 `/opt/data/registry` 目 例如下面的例子將上傳的鏡像放到 `/opt/data/registry` 目
``` ```
$ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry $ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
``` ```
#### 本地安 #### 本地安
对于 Ubuntu 或 CentOS 等行版,可以直接通源安 對於 Ubuntu 或 CentOS 等行版,可以直接通源安
* Ubuntu * Ubuntu
``` ```
$ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev $ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev
@@ -47,18 +47,18 @@ $ sudo yum install -y python-devel libevent-devel python-pip gcc xz-devel
$ sudo python-pip install docker-registry $ sudo python-pip install docker-registry
``` ```
也可以 [docker-registry](https://github.com/docker/docker-registry) 目下载源码进行安 也可以 [docker-registry](https://github.com/docker/docker-registry) 目下載源碼進行安
``` ```
$ sudo apt-get install build-essential python-dev libevent-dev python-pip libssl-dev liblzma-dev libffi-dev $ sudo apt-get install build-essential python-dev libevent-dev python-pip libssl-dev liblzma-dev libffi-dev
$ git clone https://github.com/docker/docker-registry.git $ git clone https://github.com/docker/docker-registry.git
$ cd docker-registry $ cd docker-registry
$ sudo python setup.py install $ sudo python setup.py install
``` ```
修改配置文件,主要修改 dev 模板段的 `storage_path` 到本地的存储仓库的路 修改配置文件,主要修改 dev 模板段的 `storage_path` 到本地的存儲倉庫的路
``` ```
$ cp config/config_sample.yml config/config.yml $ cp config/config_sample.yml config/config.yml
``` ```
后启动 Web 服 後啟動 Web 服
``` ```
$ sudo gunicorn -c contrib/gunicorn.py docker_registry.wsgi:application $ sudo gunicorn -c contrib/gunicorn.py docker_registry.wsgi:application
``` ```
@@ -66,14 +66,14 @@ $ sudo gunicorn -c contrib/gunicorn.py docker_registry.wsgi:application
``` ```
$ sudo gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application $ sudo gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application
``` ```
使用访问本地的 5000 端口,看到出 docker-registry 的版本信息说明运行成功。 使用訪問本地的 5000 端口,看到出 docker-registry 的版本信息說明運行成功。
*`config/config_sample.yml` 文件是示例配置文件。 *`config/config_sample.yml` 文件是示例配置文件。
###在私有仓库上传、下、搜索 ###在私有倉庫上傳、下、搜索
建好私有仓库之后,就可以使用 `docker tag` 来标记一个镜像,然推送它到仓库,别的机器上就可以下载下来了。例如私有仓库地址 `192.168.7.26:5000`。 建好私有倉庫之後,就可以使用 `docker tag` 來標記一個鏡像,然推送它到倉庫,別的機器上就可以下載下來了。例如私有倉庫地址 `192.168.7.26:5000`。
先在本查看已有的像。 先在本查看已有的像。
``` ```
$ sudo docker images $ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
@@ -81,7 +81,7 @@ ubuntu latest ba5877dc9bec 6 week
ubuntu 14.04 ba5877dc9bec 6 weeks ago 192.7 MB ubuntu 14.04 ba5877dc9bec 6 weeks ago 192.7 MB
``` ```
使用`docker tag` `ba58` 这个镜像标记为 `192.168.7.26:5000/test`(格式 `docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]`)。 使用`docker tag` `ba58` 這個鏡像標記為 `192.168.7.26:5000/test`(格式 `docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]`)。
``` ```
$ sudo docker tag ba58 192.168.7.26:5000/test $ sudo docker tag ba58 192.168.7.26:5000/test
root ~ # docker images root ~ # docker images
@@ -90,7 +90,7 @@ ubuntu 14.04 ba5877dc9bec 6 week
ubuntu latest ba5877dc9bec 6 weeks ago 192.7 MB ubuntu latest ba5877dc9bec 6 weeks ago 192.7 MB
192.168.7.26:5000/test latest ba5877dc9bec 6 weeks ago 192.7 MB 192.168.7.26:5000/test latest ba5877dc9bec 6 weeks ago 192.7 MB
``` ```
使用 `docker push` 上传标记的镜像。 使用 `docker push` 上傳標記的鏡像。
``` ```
$ sudo docker push 192.168.7.26:5000/test $ sudo docker push 192.168.7.26:5000/test
The push refers to a repository [192.168.7.26:5000/test] (len: 1) The push refers to a repository [192.168.7.26:5000/test] (len: 1)
@@ -104,14 +104,14 @@ Image 2318d26665ef already pushed, skipping
Image ba5877dc9bec already pushed, skipping Image ba5877dc9bec already pushed, skipping
Pushing tag for rev [ba5877dc9bec] on {http://192.168.7.26:5000/v1/repositories/test/tags/latest} Pushing tag for rev [ba5877dc9bec] on {http://192.168.7.26:5000/v1/repositories/test/tags/latest}
``` ```
用 curl 查看仓库中的像。 用 curl 查看倉庫中的像。
``` ```
$ curl http://192.168.7.26:5000/v1/search $ curl http://192.168.7.26:5000/v1/search
{"num_results": 7, "query": "", "results": [{"description": "", "name": "library/miaxis_j2ee"}, {"description": "", "name": "library/tomcat"}, {"description": "", "name": "library/ubuntu"}, {"description": "", "name": "library/ubuntu_office"}, {"description": "", "name": "library/desktop_ubu"}, {"description": "", "name": "dockerfile/ubuntu"}, {"description": "", "name": "library/test"}]} {"num_results": 7, "query": "", "results": [{"description": "", "name": "library/miaxis_j2ee"}, {"description": "", "name": "library/tomcat"}, {"description": "", "name": "library/ubuntu"}, {"description": "", "name": "library/ubuntu_office"}, {"description": "", "name": "library/desktop_ubu"}, {"description": "", "name": "dockerfile/ubuntu"}, {"description": "", "name": "library/test"}]}
``` ```
这里可以看到 `{"description": "", "name": "library/test"}`,表明像已被成功上了。 這裏可以看到 `{"description": "", "name": "library/test"}`,表明像已被成功上了。
在可以到另外一台机器去下载这个镜像。 在可以到另外一臺機器去下載這個鏡像。
``` ```
$ sudo docker pull 192.168.7.26:5000/test $ sudo docker pull 192.168.7.26:5000/test
Pulling repository 192.168.7.26:5000/test Pulling repository 192.168.7.26:5000/test
@@ -126,7 +126,7 @@ REPOSITORY TAG IMAGE ID CREAT
192.168.7.26:5000/test latest ba5877dc9bec 6 weeks ago 192.7 MB 192.168.7.26:5000/test latest ba5877dc9bec 6 weeks ago 192.7 MB
``` ```
可以使用 [这个脚本](https://github.com/yeasy/docker_practice/raw/master/_local/push_images.sh) 批量上本地的像到注册服务器中,默是本地注册服务器 `127.0.0.1:5000`。例如: 可以使用 [這個腳本](https://github.com/yeasy/docker_practice/raw/master/_local/push_images.sh) 批量上本地的像到註冊服務器中,默是本地註冊服務器 `127.0.0.1:5000`。例如:
``` ```
$ wget https://github.com/yeasy/docker_practice/raw/master/_local/push_images.sh; sudo chmod a+x push_images.sh $ wget https://github.com/yeasy/docker_practice/raw/master/_local/push_images.sh; sudo chmod a+x push_images.sh
$ ./push_images.sh ubuntu:latest centos:centos7 $ ./push_images.sh ubuntu:latest centos:centos7