Add more details to use the local repo

This commit is contained in:
Baohua Yang 2014-09-23 13:14:45 +08:00
parent 876ea4c9d6
commit b5d4a05d4b
7 changed files with 45 additions and 16 deletions

View File

@ -1,7 +1,7 @@
Docker —— 从入门到实践
===============
v0.2.3
v0.2.4
[Docker](docker.com)是个伟大的项目,它彻底释放了虚拟化的威力,让应用的分发、部署和管理都变得前所未有的高效和轻松!

View File

@ -28,7 +28,8 @@
* [删除](container/rm.md)
* [仓库](repository/README.md)
* [Docker Hub](repository/dockerhub.md)
* [私有仓库](repository/management.md)
* [私有仓库](repository/local_repo.md)
* [配置文件](repository/config.md)
* [数据管理](data_management/README.md)
* [数据卷](data_management/volume.md)
* [数据卷容器](data_management/container.md)

View File

@ -6,5 +6,4 @@
当用户创建了自己的镜像之后就可以使用push命令将它上传到公有或者私有仓库这样下次在另外一台机器上使用这个镜像时候只需要从仓库上pull下来就可以了。
*Docker Hub的功能跟GitHub类似push和pull操作跟git的操作类似。

View File

@ -1,5 +1,5 @@
#Dockerfile
#Dockerfile配置
TODO
ref: https://github.com/yeasy/docker_practice
https://docs.docker.com/introduction/working-with-docker/#working-with-the-dockerfile

View File

@ -45,6 +45,7 @@ ef52fb1fe610: Download complete
$ sudo docker run -t -i centos /bin/bash
bash-4.1#
```
*注:有时候官方镜像下载较慢,可以试试
###上传镜像
用户也可以通过`docker push`命令把自己创建的镜像上传到Docker Hub中来共享。

4
repository/config.md Normal file
View File

@ -0,0 +1,4 @@
## 仓库配置文件
TODO

View File

@ -4,16 +4,16 @@
本节介绍如何使用本地仓库。
docker-registry是官方提供的工具可以用于构建私有的镜像仓库。
###安装docker-registry
#### 系统自带
在安装了Docker后系统中就自带了`docker-registry`工具,可以运行
`docker-registry`是官方提供的工具,可以用于构建私有的镜像仓库。
###安装运行docker-registry
#### 容器运行
在安装了Docker后可以通过获取官方registry镜像来运行。
```
docker run -p 5000:5000 registry
$ sudo docker run -p 5000:5000 registry
```
这将使用官方的registry镜像来启动本地的私有仓库。可以通过指定参数来配置私有仓库位置例如配置镜像存储到Amazon的S3服务。
```
docker run \
$ sudo docker run \
-e SETTINGS_FLAVOR=s3 \
-e AWS_BUCKET=acme-docker \
-e STORAGE_PATH=/registry \
@ -23,18 +23,42 @@ docker run \
-p 5000:5000 \
registry
````
此外,还可以指定本地路径(如`/home/user/registry-conf`)下的配置文件。
```
$ sudo docker run -p 5000:5000 -v /home/user/registry-conf:/registry-conf -e DOCKER_REGISTRY_CONFIG=/registry-conf/config.yml registry
```
#### 源码安装
从[docker-registry](https://github.com/docker/docker-registry)项目下载源码安装。
#### 本地安装
对于Ubuntu或CentOS等发型包可以直接通过源安装。
* Ubuntu
```
$ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev
$ sudo pip install docker-registry
```
* CentOS
```
$ sudo yum install -y python-devel libevent-devel python-pip gcc xz-devel
$ sudo python-pip install 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
$ git clone https://github.com/docker/docker-registry.git
$ cd git-registry
$ sudo pip install .
```
然后修改配置文件,主要修改`storage_path`到本地的存储仓库的路径之后启动Web服务。
然后修改配置文件,主要修改dev模板段的`storage_path`到本地的存储仓库的路径。
```
$ cp config/config_sample.yml config/config.yml
$ #do some change to config.yml
$ sudo /usr/bin/gunicorn --debug -k gevent -b 0.0.0.0:5000 -w 8 docker_registry.wsgi:application
```
之后启动Web服务。
```
$ 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
```
此时使用访问本地的5000端口看到输出docker-registry的版本信息说明运行成功。