Add docker exec + fzf function
This commit is contained in:
		
							parent
							
								
									0196f51b32
								
							
						
					
					
						commit
						e62370ffe8
					
				
							
								
								
									
										20
									
								
								zshrc
								
								
								
								
							
							
						
						
									
										20
									
								
								zshrc
								
								
								
								
							|  | @ -2372,6 +2372,26 @@ fopen() { | ||||||
| } | } | ||||||
| # }}} | # }}} | ||||||
| 
 | 
 | ||||||
|  | # dexec − Docker exec in a running container {{{ | ||||||
|  | # Display Docker running containers | ||||||
|  | # Allow to specify the shell (default to bash) | ||||||
|  | dexec() { | ||||||
|  | 	local images_name | ||||||
|  | 	local container_name | ||||||
|  | 	local container_id | ||||||
|  | 
 | ||||||
|  | 	images_name=$(docker container ls --format "table {{.Image}}\t {{.RunningFor}}\t {{.Ports}}\t {{.Names}}" | fzf --prompt='docker> ' --tac ) | ||||||
|  | 
 | ||||||
|  | 	## Extract container_name from the selected line | ||||||
|  | 	container_name=$(printf '%b' "${images_name}" | awk '{ print $NF }') | ||||||
|  | 	## Get container_id from the selected container_name | ||||||
|  | 	container_id=$(docker container ls --quiet --filter=name="${container_name}") | ||||||
|  | 
 | ||||||
|  | 	printf "%b\n" "Try to enter to Docker container (named : ${container_name})" | ||||||
|  | 	docker exec -it "${container_id:-/dev/null}" "${1:-bash}" | ||||||
|  | } | ||||||
|  | # }}} | ||||||
|  | 
 | ||||||
| # }}} | # }}} | ||||||
| # zsh-syntax-highlighting {{{ | # zsh-syntax-highlighting {{{ | ||||||
| ## Activate if plugin is available | ## Activate if plugin is available | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue