|  | @@ -1,6 +1,7 @@
 | 
	
		
			
				|  |  |  package run
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import (
 | 
	
		
			
				|  |  | +	"fmt"
 | 
	
		
			
				|  |  |  	"strconv"
 | 
	
		
			
				|  |  |  	"strings"
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -17,11 +18,14 @@ func toPorts(ports []string) ([]containers.Port, error) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	for _, port := range ports {
 | 
	
		
			
				|  |  |  		parts := strings.Split(port, ":")
 | 
	
		
			
				|  |  | -		source, err := strconv.ParseUint(parts[0], 10, 32)
 | 
	
		
			
				|  |  | +		if len(parts) != 2 {
 | 
	
		
			
				|  |  | +			return nil, fmt.Errorf("unable to parse ports %q", port)
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		source, err := strconv.Atoi(parts[0])
 | 
	
		
			
				|  |  |  		if err != nil {
 | 
	
		
			
				|  |  |  			return nil, err
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		destination, err := strconv.ParseUint(parts[1], 10, 32)
 | 
	
		
			
				|  |  | +		destination, err := strconv.Atoi(parts[1])
 | 
	
		
			
				|  |  |  		if err != nil {
 | 
	
		
			
				|  |  |  			return nil, err
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -34,7 +38,7 @@ func toPorts(ports []string) ([]containers.Port, error) {
 | 
	
		
			
				|  |  |  	return result, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (r *runOpts) ToContainerConfig(image string) (containers.ContainerConfig, error) {
 | 
	
		
			
				|  |  | +func (r *runOpts) toContainerConfig(image string) (containers.ContainerConfig, error) {
 | 
	
		
			
				|  |  |  	publish, err := toPorts(r.publish)
 | 
	
		
			
				|  |  |  	if err != nil {
 | 
	
		
			
				|  |  |  		return containers.ContainerConfig{}, err
 |