【Linux】【Services】【Docker】应用
1. Docker应用:
		镜像:包含了启动Docker容器所需要的文件系统层级及其内容;基于UnionFS采用分层结构实现;
		
				bootfs,rootfs
				
			registry:保存docker镜像及镜像层次结构和元数据;
			repository:由具有某个功能的镜像的所有相关版本构成的集合;
			index:管理用户的账号、访问权限、镜像及镜像标签等等相关的;
			graph:从registry中下载的Docker镜像需要保存在本地,此功能即由graph完成;
				/var/lib/docker/graph,
				
			与镜像相关的命令:
				images
				search
				pull
				push
				login
				logout
				
				创建镜像:commit, build
				删除本地镜像:rmi
			
		容器:
			独立运行的一个或一组应用,以及它们运行的环境;
			
			命令:
				run, kill, stop, start, restart,log,export, import
				
			启动方法:
				通过镜像创建一个新的容器;run
				启动一个处于停止状态的容器;start
				
			run命令:
				--name=                         Assign a name to the container
				-i, --interactive=false         Keep STDIN open even if not attached
				-t, --tty=false                 Allocate a pseudo-TTY
				--net=default			Set the Network for the container
				-d, --detach=false              Run container in background and print container ID
				
				步骤:
					检查本地是否存在指定的镜像,不存在则从registry下载;
					利用镜像启动容器
					分配一个文件系统,并且在只读的镜像层之外挂载一个可读写层;
					从宿主机配置的网桥接口桥接一个虚拟接口给此容器;
					从地址池中分配一个地址给容器;
					执行用户指定的应用程序;
					程序执行完成后,容器即终止;
					
				对于交互式模式启动的容器,终止可使用exit命令或ctrl+d组合键;
					
			logs命令:获取一个容器的日志,获取其输出信息;
			
			attach命令:附加至一个运行中的容器;
			
		Docker Hub:
			registry有两种:
				docker hub:
					
				private registry:
					(1) 安装docker-registry程序包;
					(2) 启动服务:
						systemctl  start  docker-registry.service
					
					(3) 建议使用nginx反代:使用ssl,基于basic做用户认证;
					
				docker端使用私有仓库:
					(1) 配置文件 /etc/sysconfig/docker
						ADD_REGISTRY='--add-registry 172.16.100.68:5000'
						INSECURE_REGISTRY='--insecure-registry 172.16.100.68:5000'
						
					(2) push镜像
						(a) tag命令:给要push到私有仓库的镜像打标签;
							docker tag  IMAGE_ID  REGISRY_HOST:PORT/NAME[:TAG]
						(b) push命令:
							docker  push  REGISRY_HOST:PORT/NAME[:TAG]
							
					(3) pull镜像
						docker  pull  REGISRY_HOST:PORT/NAME[:TAG]
						
		Docker的数据卷:
			Data Volume
			
			数据卷是供一个或多个容器使用的文件或目录,有多种特性:
				可以共享于多个容器之间;
				对数据卷的修改会立即生效;
				对数据卷的更新与镜像无关;
				数据卷会一直存在;
				
			使用数据卷的方式:
				(1) -v  /MOUNT_POINT
					默认映射的宿主机路径:/var/lib/docker/volumes/
					
				(2) -v  /HOST/DIR:/CONTAINER/DIR 
					/HOST/DIR: 宿主机路径
					/CONTAINER/DIR :容器上的路径
					
				(3) 在Dockerfile中使用VOLUME指令定义;
				
			在容器之间共享卷:
				--volumes-from=[]               Mount volumes from the specified container(s)
				
					后跟容器名;
					
			删除卷:
				docker  rm  -v  CONTAINER_NAME
					删除容器的同时删除其卷;
				docker  run  --rm选项,表示容器关闭会被自动删除,同时删除其卷(此容器为最后一个使用此卷的容器时);
				
			备份和恢复:
				备份:
					docker  run  --rm  --volumes-from  vol_container  -v  $(pwd):/backup  busybox:latest  tar  cvf  /backup/data.tar  /data
docker的监控命令:
		ps命令:
			-a
			
		images命令:
			查看当前主机的镜像信息; 
			
		stats命令:
			容器状态统计信息,实时监控容器的运行状态;
			
		inspect命令:
			查看镜像或容器的底层详细信息;
				-f, --format 
					{{.key1.key2....}}
						
		top命令:
			用于查看正在运行的容器中的进程的运行状态;
			
		port命令:
			查看端口映射;
			
	监控工具:google/cadvisor镜像
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号