Skip to content

Commit

Permalink
cmd/create, doc/toolbox-create, sh: Add flag --hostname to create com…
Browse files Browse the repository at this point in the history
…mand.

When SSH to a host, ~/.Xauthority will be used for xauth; the entries in
it contains the hostname. If within the toolbox container it uses
another hostname, the xauth will fail. Therefore we need to be able to
specify the hostname when creating the container.

#573
  • Loading branch information
likan999 committed Oct 30, 2020
1 parent d065ca4 commit cce0a35
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
5 changes: 5 additions & 0 deletions doc/toolbox-create.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ toolbox\-create - Create a new toolbox container
[*--container NAME* | *-c NAME*]
[*--image NAME* | *-i NAME*]
[*--release RELEASE* | *-r RELEASE*]
[*--hostname HOSTNAME*]

## DESCRIPTION

Expand Down Expand Up @@ -51,6 +52,10 @@ is useful for creating containers from custom-built base images.
Create a toolbox container for a different operating system RELEASE than the
host.

**--hostname** HOSTNAME

Create the toolbox container using the specified hostname (default: toolbox).

## EXAMPLES

### Create a toolbox container using the default image matching the host OS
Expand Down
8 changes: 7 additions & 1 deletion src/cmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ const (
var (
createFlags struct {
container string
hostname string
image string
release string
}
Expand Down Expand Up @@ -71,6 +72,11 @@ func init() {
"",
"Assign a different name to the toolbox container.")

flags.StringVar(&createFlags.hostname,
"hostname",
"toolbox",
"Create the toolbox container using the specified hostname (default: toolbox).")

flags.StringVarP(&createFlags.image,
"image",
"i",
Expand Down Expand Up @@ -336,7 +342,7 @@ func createContainer(container, image, release string, showCommandToEnter bool)
"create",
"--dns", "none",
"--env", toolboxPathEnvArg,
"--hostname", "toolbox",
"--hostname", createFlags.hostname,
"--ipc", "host",
"--label", "com.github.containers.toolbox=true",
"--label", "com.github.debarshiray.toolbox=true",
Expand Down
8 changes: 7 additions & 1 deletion toolbox
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ toolbox_container_prefix_default=""
toolbox_image=""
toolbox_runtime_directory="$XDG_RUNTIME_DIR"/toolbox
user_id_real=$(id -ru 2>&3)
hostname=toolbox
verbose=false


Expand Down Expand Up @@ -1074,7 +1075,7 @@ create()
$podman_command create \
--dns none \
--env TOOLBOX_PATH="$TOOLBOX_PATH" \
--hostname toolbox \
--hostname "${hostname}" \
--ipc host \
--label "com.github.containers.toolbox=true" \
--label "com.github.debarshiray.toolbox=true" \
Expand Down Expand Up @@ -2398,6 +2399,11 @@ case $op in
help "$op"
exit
;;
--hostname )
shift
exit_if_missing_argument --hostname "$1"
hostname=$1
;;
-i | --image )
shift
exit_if_missing_argument --image "$1"
Expand Down

0 comments on commit cce0a35

Please sign in to comment.