mirror of
https://github.com/yeasy/docker_practice.git
synced 2024-12-25 06:28:56 +00:00
Add more details to use the local repo
This commit is contained in:
parent
876ea4c9d6
commit
b5d4a05d4b
@ -1,7 +1,7 @@
|
||||
Docker —— 从入门到实践
|
||||
===============
|
||||
|
||||
v0.2.3
|
||||
v0.2.4
|
||||
|
||||
[Docker](docker.com)是个伟大的项目,它彻底释放了虚拟化的威力,让应用的分发、部署和管理都变得前所未有的高效和轻松!
|
||||
|
||||
|
@ -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)
|
||||
|
@ -6,5 +6,4 @@
|
||||
|
||||
当用户创建了自己的镜像之后就可以使用push命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上pull下来就可以了。
|
||||
|
||||
|
||||
*Docker Hub的功能跟GitHub类似;push和pull操作跟git的操作类似。
|
||||
|
@ -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
|
||||
|
@ -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
4
repository/config.md
Normal file
@ -0,0 +1,4 @@
|
||||
## 仓库配置文件
|
||||
TODO
|
||||
|
||||
|
@ -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的版本信息说明运行成功。
|
||||
|
Loading…
Reference in New Issue
Block a user