mirror of
				https://github.com/yeasy/docker_practice.git
				synced 2025-10-30 18:02:08 +00:00 
			
		
		
		
	Add more details to use the local repo
This commit is contained in:
		| @@ -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的版本信息说明运行成功。 | ||||
| 
 | ||||
		Reference in New Issue
	
	Block a user