@@ -73,7 +73,7 @@ func cmdUp() error {
7373 certPath , err := RequestCertsUsingSSH (m )
7474 if err != nil && B2D .Verbose {
7575 // These errors are not fatal
76- fmt .Printf ( "Error copying Certificates: %s\n " , err )
76+ fmt .Fprintf ( os . Stderr , "Error copying Certificates: %s\n " , err )
7777 }
7878 switch runtime .GOOS {
7979 case "windows" :
@@ -89,15 +89,7 @@ func cmdUp() error {
8989 socket := RequestSocketFromSSH (m )
9090 if os .Getenv ("DOCKER_HOST" ) != socket || os .Getenv ("DOCKER_CERT_PATH" ) != certPath {
9191 fmt .Printf ("\n To connect the Docker client to the Docker daemon, please set:\n " )
92- fmt .Printf (" export DOCKER_HOST=%s\n " , socket )
93- if certPath == "" {
94- if os .Getenv ("DOCKER_CERT_PATH" ) != "" {
95- fmt .Println (" unset DOCKER_CERT_PATH" )
96- }
97- } else {
98- // Assume Docker 1.2.0 with TLS on...
99- fmt .Printf (" export DOCKER_CERT_PATH=%s\n " , certPath )
100- }
92+ printExport (socket , certPath )
10193 } else {
10294 fmt .Printf ("Your DOCKER_HOST env variable is already set correctly.\n " )
10395 }
@@ -107,6 +99,41 @@ func cmdUp() error {
10799 return nil
108100}
109101
102+ // Give the user the exact command to run to set the env.
103+ func cmdShellInit () error {
104+ m , err := driver .GetMachine (& B2D )
105+ if err != nil {
106+ return fmt .Errorf ("Failed to get machine %q: %s" , B2D .VM , err )
107+ }
108+
109+ if m .GetState () != driver .Running {
110+ return fmt .Errorf ("VM %q is not running." , B2D .VM )
111+ }
112+
113+ socket := RequestSocketFromSSH (m )
114+
115+ certPath , err := RequestCertsUsingSSH (m )
116+ if err != nil && B2D .Verbose {
117+ // These errors are not fatal
118+ fmt .Fprintf (os .Stderr , "Error copying Certificates: %s\n " , err )
119+ }
120+ printExport (socket , certPath )
121+
122+ return nil
123+ }
124+
125+ func printExport (socket , certPath string ) {
126+ fmt .Printf (" export DOCKER_HOST=%s\n " , socket )
127+ if certPath == "" {
128+ if os .Getenv ("DOCKER_CERT_PATH" ) != "" {
129+ fmt .Println (" unset DOCKER_CERT_PATH" )
130+ }
131+ } else {
132+ // Assume Docker 1.2.0 with TLS on...
133+ fmt .Printf (" export DOCKER_CERT_PATH=%s\n " , certPath )
134+ }
135+ }
136+
110137// Tell the user the config (and later let them set it?)
111138func cmdConfig () error {
112139 dir , err := cfgDir (".boot2docker" )
@@ -243,10 +270,10 @@ func cmdSocket() error {
243270 return fmt .Errorf ("VM %q is not running." , B2D .VM )
244271 }
245272
246- Socket := RequestSocketFromSSH (m )
273+ socket := RequestSocketFromSSH (m )
247274
248275 fmt .Fprintf (os .Stderr , "\n \t export DOCKER_HOST=" )
249- fmt .Printf ("%s" , Socket )
276+ fmt .Printf ("%s" , socket )
250277 fmt .Fprintf (os .Stderr , "\n \n " )
251278
252279 return nil
0 commit comments