Ensure that the configuration file is an absolute path in Docker build
The specific problem is in commit 2ddd7c1, where the passed config file
(using the `-c` option) is now mounted inside the container using the
`--volume src:dest:opt` Docker option.
The problem is that Docker requires absolute paths for mounting single
files inside the container, otherwise it silently tries to mount a volume
name instead as an empty directory. Therefore the Docker build no longer
works with the following invocation forms (relative config-paths):
    ./build-docker.sh -c myconfig
    /path/to/build-docker.sh -c myconfig   # also doesn't work
This commit uses `realpath` (included in coreutils) in the Docker build
script to ensure that the passed configuration file is always an
absolute path before passing it to Docker.
			
			
This commit is contained in:
		
							parent
							
								
									bcc22ce8be
								
							
						
					
					
						commit
						4fd20bdb87
					
				|  | @ -30,6 +30,9 @@ do | ||||||
| 	esac | 	esac | ||||||
| done | done | ||||||
| 
 | 
 | ||||||
|  | # Ensure that the configuration file is an absolute path | ||||||
|  | CONFIG_FILE=$(realpath -s "$CONFIG_FILE") | ||||||
|  | 
 | ||||||
| # Ensure that the confguration file is present | # Ensure that the confguration file is present | ||||||
| if test -z "${CONFIG_FILE}"; then | if test -z "${CONFIG_FILE}"; then | ||||||
| 	echo "Configuration file need to be present in '${DIR}/config' or path passed as parameter" | 	echo "Configuration file need to be present in '${DIR}/config' or path passed as parameter" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user