Bash For Mac

In Visual Studio Code, you can open an integrated terminal, initially starting at the root of your workspace. This can be convenient as you don't have to switch windows or alter the state of an existing terminal to perform a quick command-line task.

To open the terminal:

GNU Bash or simply Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. First released in 1989, it has been used widely as the default login shell for most Linux distributions and Apple's macOS Mojave and earlier versions. A version is also available for Windows 10. A (very) quick primer on.bashprofile for Mac Users There is a hidden file in your Mac’s user directory named.bashprofile. This file is loaded before Terminal loads your shell environment and contains all the startup configuration and preferences for your command line interface. What is Wine? Wine (originally an acronym for 'Wine Is Not an Emulator') is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, macOS, &. I've spent years curating a collection of Mac bash aliases and shortcuts to make my life easier. My full.bashprofile is below, feel free to take whatever you find useful and put it to good use. A (very) quick primer on.bashprofile for Mac Users. There is a hidden file in your Mac’s user directory named.bashprofile. This file is loaded. Bash-fuzzy-clock is a natural language or 'fuzzy' clock script, written in Bash. Use it in Conky (Linux/BSD) or GeekTool (Mac) configurations as a desktop-agnostic fuzzy clock. Translated to French, German, Italian and Spanish.

  • Use the ⌃` (Windows, Linux Ctrl+`) keyboard shortcut with the backtick character.
  • Use the View > Terminal menu command.
  • From the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), use the View: Toggle Integrated Terminal command.

Note: You can still open an external shell with the ⇧⌘C (Windows, Linux Ctrl+Shift+C) keyboard shortcut if you prefer to work outside VS Code.

Managing multiple terminals

You can create multiple terminals open to different locations and easily navigate between them. Terminal instances can be added by clicking the plus icon on the top-right of the TERMINAL panel or by triggering the ⌃⇧` (Windows, Linux Ctrl+Shift+`) command. This action creates another entry in the drop-down list that can be used to switch between them.

Bash For Mac

Remove terminal instances by pressing the trash can button.

Tip: If you use multiple terminals extensively, you can add key bindings for the focusNext, focusPrevious and kill commands outlined in the Key Bindings section to allow navigation between them using only the keyboard.

Terminal Splitting

You can also split the terminal by triggering the (Windows, Linux Ctrl+Shift+5) command or via the right click context menu.

When focusing a split terminal pane, you can move focus and resize using one of the following commands:

KeyCommand
⌥⌘← (Windows, Linux Alt+Left)Focus Previous Pane
⌥⌘→ (Windows, Linux Alt+Right)Focus Next Pane
⌃⌘← (Windows , Linux Ctrl+Shift+Left)Resize Pane Left
⌃⌘→ (Windows , Linux Ctrl+Shift+Right)Resize Pane Right
⌃⌘↑ (Windows, Linux )Resize Pane Up
⌃⌘↓ (Windows, Linux )Resize Pane Down

Configuration

The shell used defaults to $SHELL on Linux and macOS, PowerShell on Windows 10 and cmd.exe on earlier versions of Windows. These can be overridden manually by setting terminal.integrated.shell.* in user settings. Arguments can be passed to the terminal shell using the terminal.integrated.shellArgs.* user settings.

Note: For enhanced security, such settings can only be defined in user settings and not at workspace scope.

Windows

For Windows there is a convenient shell selector located inside the terminal dropdown that lets you choose between several detected shells including Command Prompt, PowerShell, PowerShell Core, Git Bash and WSL Bash. The Terminal: Select Default Shell command is also available through the Command Palette if you prefer to access it there.

Just like on other platforms you can fine tune the exact executable used in your settings file, for example:

Note: To be used as an integrated terminal, the shell executable must be a console application so that stdin/stdout/stderr can be redirected.

Tip: The integrated terminal shell is running with the permissions of VS Code. If you need to run a shell command with elevated (administrator) or different permissions, you can use platform utilities such as runas.exe within a terminal.

Shell arguments

You can pass arguments to the shell when it is launched.

For example, to enable running bash as a login shell (which runs .bash_profile), pass in the -l argument (with double quotes):

Using variables

The shell, shellArgs, env and cwd terminal settings all support resolving variables:

Terminal display settings

You can customize the integrated terminal font and line height with the following settings:

  • terminal.integrated.fontFamily
  • terminal.integrated.fontSize
  • terminal.integrated.fontWeight
  • terminal.integrated.fontWeightBold
  • terminal.integrated.lineHeight

Terminal keybindings

The View: Toggle Integrated Terminal command is bound to ⌃` (Windows, Linux Ctrl+`) to quickly toggle the integrated terminal panel in and out of view.

Below are the keyboard shortcuts to quickly navigate within the integrated terminal:

KeyCommand
⌃` (Windows, Linux Ctrl+`)Show integrated terminal
⌃⇧` (Windows, Linux Ctrl+Shift+`)Create new terminal
⌥⌘PageUp (Windows Ctrl+Alt+PageUp, Linux Ctrl+Shift+Up)Scroll up
⌥⌘PageDown (Windows Ctrl+Alt+PageDown, Linux Ctrl+Shift+Down)Scroll down
PageUp (Windows, Linux Shift+PageUp)Scroll page up
PageDown (Windows, Linux Shift+PageDown)Scroll page down
⌘Home (Windows Ctrl+Home, Linux Shift+Home)Scroll to top
⌘End (Windows Ctrl+End, Linux Shift+End)Scroll to bottom
⌘K (Windows, Linux )Clear the terminal

Other terminal commands are available and can be bound to your preferred keyboard shortcuts, such as:

  • workbench.action.terminal.focus: Focus the terminal. This is like toggle but focuses the terminal instead of hiding it, if it is visible.
  • workbench.action.terminal.focusNext: Focuses the next terminal instance.
  • workbench.action.terminal.focusPrevious: Focuses the previous terminal instance.
  • workbench.action.terminal.focusAtIndexN: Focuses the terminal at index N (N=1-9)
  • workbench.action.terminal.kill: Remove the current terminal instance.
  • workbench.action.terminal.runSelectedText: Run the selected text in the terminal instance.
  • workbench.action.terminal.runActiveFile: Run the active file in the terminal instance.

Copy & Paste

The keybindings for copy and paste follow platform standards:

  • Linux: Ctrl+Shift+C and Ctrl+Shift+V
  • macOS: Cmd+C and Cmd+V
  • Windows: Ctrl+C and Ctrl+V

Right click behavior

The right click behavior differs based on the platform:

  • Linux: Show the context menu.
  • macOS: Select the word under the cursor and show the context menu.
  • Windows: Copy and drop selection if there is a selection, otherwise paste.

This can be configured using the terminal.integrated.rightClickBehavior setting.

Forcing key bindings to pass through the terminal

While focus is in the integrated terminal, many key bindings will not work as the keystrokes are passed to and consumed by the terminal itself. There is a hardcoded list of commands, which skip being processed by the shell and instead get sent to the VS Code keybinding system. You can customize this list with the terminal.integrated.commandsToSkipShell setting. Commands can be added to this list by adding the command name to the list, and removed by adding the command name to the list prefixed with a -.

Look at the setting details to see the complete list of default commands.

Find

The Integrated Terminal has basic find functionality which can be triggered with ⌘F (Windows, Linux Ctrl+F).

If you want Ctrl+F to go to the shell instead of launching the Find widget on Linux and Windows, you will need to remove the keybinding like so:

Run Selected Text

To use the runSelectedText command, select text in an editor and run the command Terminal: Run Selected Text in Active Terminal via the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)):

The terminal will attempt to run the selected text.

If no text is selected in the active editor, the line that the cursor is on is run in the terminal.

Send text from a keybinding

The workbench.action.terminal.sendSequence command can be used to send a specific sequence of text to the terminal, including escape sequences. This enables things like sending arrow keys, enter, cursor moves, etc. The example below shows the sort of things you can achieve with this feature, it jumps over the word to the left of the cursor (Ctrl+Left arrow) and presses backspace:

This feature supports variable substitution.

Note that the command only works with the u0000 format for using characters via their character code (not x00). You can read more about these hex code and the sequences terminals work with on the following resources:

Rename terminal sessions

Integrated Terminal sessions can now be renamed using the Terminal: Rename (workbench.action.terminal.rename) command. The new name will be displayed in the terminal selection drop-down.

Open at a specific folder

By default, the terminal will open at the folder that is opened in the Explorer. The terminal.integrated.cwd setting allows specifying a custom path to open instead:

Split terminals on Windows will start in the directory that the parent terminal started with. On macOS and Linux, split terminals will inherit the current working directory of the parent terminal. This behavior can be changed using the terminal.integrated.splitCwd setting:

There are also extensions available that give more options such as Terminal Here.

Changing shell for tasks and debug

You can set terminal.integrated.automationShell.<platform> to override the shell and shell args used by tasks and debug:

Changing how the terminal is rendered

By default, the integrated terminal will render using multiple <canvas> elements which are better tuned than the DOM for rendering interactive text that changes often. However, Electron/Chromium are slower at rendering to canvas on some environments so VS Code also provides a fallback DOM-renderer experience. VS Code will try to detect slow performance and give you the option to change via a notification. You can also change the rendering directly by setting terminal.integrated.rendererType in your user or workspace settings.

Something else that might improve performance is to ignore Chromium's GPU disallow list by launching VS Code with code --ignore-gpu-blacklist.

Next steps

The basics of the terminal have been covered in this document, read on to find out more about:

  • Tasks - Tasks let you integrate with external tools and leverage the terminal heavily.
  • Mastering VS Code's Terminal - An external blog with plenty of power user tips for the terminal.
  • Explore the rest of the terminal commands by browsing your keybindings.json file within VS Code.

Common questions

Can I use the integrated terminal with the Windows Subsystem for Linux?

Yes, you can select the Windows Subsystem for Linux (WSL) bash shell as your terminal default. If you have WSL enabled (through Windows Features), you can select WSL Bash from the terminal Select Default Shell drop down. See Developing in WSL for details on working in WSL and the Remote - WSL extension.

Why is VS Code shortcut X not working when the terminal has focus?

Currently the terminal consumes many key bindings, preventing Visual Studio Code from reacting to them. Some examples are F1 to open the Command Palette and Ctrl+P for Quick Open on Linux and Windows. This is necessary as various terminal programs and/or shells may respond to these key bindings themselves. You can use the terminal.integrated.commandsToSkipShell setting to prevent specific key bindings from being handled by the terminal.

Integrated terminal exited with code 1 on Windows 10

This can happen if you run VS Code in compatibility mode which may be turned on automatically if you have upgraded Windows. You can change this by right-clicking the executable and selecting properties, then uncheck 'Run this program in compatibility mode' in the compatibility tab.

Can I use Cmder's shell with the terminal on Windows?

Yes, to use the Cmder shell in VS Code, you need to add the following settings to your settings.json file:

You may refer to Cmder's wiki for more information.

Bash For Mac Os

PowerShell on macOS is complaining about a '-l' argument, how do I fix it?

When configuring the integrated terminal to use PowerShell on macOS you may hit this error complaining about a '-l' argument. To fix this you will need to override the shell args setting as it defaults to ['-l'] to run login shells by default (for bash/zsh/etc.).

How can I change my default Windows terminal back to PowerShell?

If you want to put the default Integrated Terminal shell back to the default (PowerShell on Windows), you can remove the shell override from your User Settings (⌘, (Windows, Linux Ctrl+,)).

For example, if you have set your default terminal to bash, you will find terminal.integrated.shell.windows in your settings.json pointing to your bash location.

Remove the entry to use the built-in VS Code default or set it to another shell executable path.

Why is the terminal not working when running the 32-bit Windows client on 64-bit Windows?

The easy fix for this is to use the 64-bit version. If you must use the 32-bit version you need to use the sysnative path when configuring your paths instead of System32:

Why is Cmd+k/Ctrl+k not clearing the terminal?

Normally Cmd+k/Ctrl+k clears the terminal on macOS/Windows, but this can stop working when chord keybindings are added either by the user or extensions. The Cmd+k/Ctrl+k keybindings rely on the VS Code keybinding priority system which defines which keybinding is active at any given time (user > extension > default). In order to fix this, you need to redefine your user keybinding which will have priority, preferably at the bottom of your user keybindings.json file:

macOS:

Windows:

Why is nvm complaining about a prefix option when the Integrated Terminal is launched?

nvm (Node Version Manager) users often see this error for the first time inside VS Code's Integrated Terminal:

This is mostly a macOS problem and does not happen in external terminals. The typical reasons for this are the following:

  • npm was globally installed using another instance of node which is somewhere in your path (such as /usr/local/bin/npm).
  • In order to get the development tools on the $PATH, VS Code will launch a bash login shell on start up. This means that your ~/.bash_profile has already run and when an Integrated Terminal launches, it will run another login shell, reordering the $PATH potentially in unexpected ways.

To resolve this issue, you need to track down where the old npm is installed and remove both it and its out of date node_modules. You can do this by finding the nvm initialization script and running which npm before it runs, which should print the path when you launch a new terminal.

Once you have the path to npm, you can find the old node_modules by resolving the symlink by running a command something like this:

This will give you the resolved path at the end:

From there, removing the files and relaunching VS Code should fix the issue:

Can I use Powerline fonts in the Integrated Terminal?

Yes, you can specify Powerline fonts with the terminal.integrated.fontFamilysetting.

Note that you want to specify the font family, not an individual font like Meslo LG M DZ Regular for Powerline where Regular is the specific font name.

How do I configure zsh on macOS to jump words with Ctrl+Left/Right arrow?

By default, Ctrl+Left/Right arrow will jump words in bash. You can configure the same for zsh by adding these keybindings:

How do I fix the error 'ConnectNamedPipe failed: Windows error 232'

This error can occur due to anti-virus software intercepting winpty from creating a pty. To workaround this error, you can exclude the following file from your anti-virus scanning:

How do I fix when a terminal exits with error code 3221225786 on Windows?

This happens when you have legacy console mode enabled in conhost's properties. To change this, open cmd.exe, right click the title bar, go to Properties and under the Options tab, uncheck Use legacy console.

Why is my terminal showing a multi-colored triangle or a completely black rectangle?

The terminal can have problems rendering in some environments, for example you might see a big multi-colored triangle instead of text. This is typically caused by driver/VM graphics issues and the same also happens in Chromium. You can work around these issues by launching code with the --disable-gpu flag or by using the setting 'terminal.integrated.rendererType': 'dom' to avoid using the canvas in the terminal.

Estimated reading time: 17 minutes

Welcome to Docker Desktop!

The Docker Desktop for Mac section contains information about the Docker Desktop Community Stable release. For information about features available in Edge releases, see the Edge release notes. For information about Docker Desktop Enterprise (DDE) releases, see Docker Desktop Enterprise.

Docker is a full development platform for creating containerized applications. Docker Desktop is the best way to get started with Docker on Mac.

See Install Docker Desktop for download information, system requirements, and installation instructions.

Check versions

Ensure your versions of docker, docker-compose, and docker-machine areup-to-date and compatible with Docker.app. Your output may differ if you arerunning different versions.

Explore the application

  1. Open a command-line terminal and test that your installation works byrunning the simple Docker image,hello-world:

  2. Start a Dockerized web server. Like the hello-world image above, if theimage is not found locally, Docker pulls it from Docker Hub.

  3. In a web browser, go to http://localhost/ to view the nginx homepage.Because we specified the default HTTP port, it isn’t necessary to append:80 at the end of the URL.

    Early beta releases used docker as the hostname to build the URL. Now,ports are exposed on the private IP addresses of the VM and forwarded tolocalhost with no other host name set.

  4. View the details on the container while your web server is running (withdocker container ls or docker ps):

  5. Stop and remove containers and images with the following commands. Use the“all” flag (--all or -a) to view stopped containers.

Preferences

Choose the Docker menu > Preferences from themenu bar and configure the runtime options described below.

General

On the General tab, you can configure when to start and update Docker:

  • Start Docker Desktop when you log in: Automatically starts Docker Desktop when you open your session.

  • Automatically check for updates: By default, Docker Desktop automatically checks for updates and notifies you when an update is available. You can manually check for updates anytime by choosing Check for Updates from the main Docker menu.

  • Include VM in Time Machine backups: Select this option to back up the Docker Desktop virtual machine. This option is disabled by default.

  • Securely store Docker logins in macOS keychain: Docker Desktop stores your Docker login credentials in macOS keychain by default.

  • Send usage statistics: Docker Desktop sends diagnostics, crash reports, and usage data. This information helps Docker improve and troubleshoot the application. Clear the check box to opt out.

Resources

The Resources tab allows you to configure CPU, memory, disk, proxies, network, and other resources.

Advanced

On the Advanced tab, you can limit resources available to Docker.

Advanced settings are:

CPUs: By default, Docker Desktop is set to use half the number of processorsavailable on the host machine. To increase processing power, set this to ahigher number; to decrease, lower the number.

Memory: By default, Docker Desktop is set to use 2 GB runtime memory,allocated from the total available memory on your Mac. To increase the RAM, set this to a higher number. To decrease it, lower the number.

Swap: Configure swap file size as needed. The default is 1 GB.

Disk image size: Specify the size of the disk image.

Disk image location: Specify the location of the Linux volume where containers and images are stored.

You can also move the disk image to a different location. If you attempt to move a disk image to a location that already has one, you get a prompt asking if you want to use the existing image or replace it.

File sharing

Choose the local directories you’d like to share with your containers. File sharing is required for volume mounting if the project lives outside of the /Users directory. In that case, share the drive where the Dockerfile and volume are located. Otherwise, you get file not found or cannot start service errors at runtime`.

File share settings are:

  • Add a Directory: Click + and navigate to the directory you want to add.

  • Apply & Restart makes the directory available to containers using Docker’sbind mount (-v) feature.

    There are some limitations on the directories that can be shared:

    • It is not possible to share a directory that is a subdirectory of an already shared directory.
    • The directory must not exist inside of Docker.

For more information, see:

  • Namespaces in the topic onosxfs file system sharing.
  • Volume mounting requires file sharing for any project directories outside of/Users.)

Proxies

Docker Desktop detects HTTP/HTTPS Proxy Settings from macOS and automaticallypropagates these to Docker and to your containers. For example, if you set yourproxy settings to http://proxy.example.com, Docker uses this proxy whenpulling containers.

When you start a container, your proxy settings propagate into the containers.For example:

You can see from the above output that the HTTP_PROXY, http_proxy, andno_proxy environment variables are set. When your proxy configuration changes,Docker restarts automatically to pick up the new settings. If you have anycontainers that you would like to keep running across restarts, you should consider using restart policies.

Network

You can configure Docker Desktop networking to work on a virtual private network (VPN). Specify a network address translation (NAT) prefix and subnet mask to enable Internet connectivity.

Docker Engine

The Docker Engine page allows you to configure the Docker daemon to determine how your containers run.

Type a JSON configuration file in the box to configure the daemon settings. For a full list of options, see the Docker Engine dockerd commandlinereference.

Click Apply & Restart to save your settings and restart Docker Desktop.

Command Line

On the Command Line page, you can specify whether or not to enable experimental features.

Experimental features provide early access to future product functionality.These features are intended for testing and feedback only as they may changebetween releases without warning or can be removed entirely from a futurerelease. Experimental features must not be used in production environments.Docker does not offer support for experimental features. For more information,see Experimental features.

To enable experimental features in the Docker CLI, edit the config.jsonfile and set experimental to enabled.

To enable experimental features from the Docker Desktop menu, clickSettings (Preferences on macOS) > Daemon and then select theExperimental features check box.

On both Docker Desktop Edge and Stable releases, you can toggle the experimental features on and off. If you toggle the experimental features off, Docker Desktop uses the current generally available release of Docker Engine.

You can see whether you are running experimental mode at the command line. IfExperimental is true, then Docker is running in experimental mode, as shownhere. (If false, Experimental mode is off.)

Kubernetes

Docker Desktop includes a standalone Kubernetes server that runs on your Mac, sothat you can test deploying your Docker workloads on Kubernetes.

The Kubernetes client command, kubectl, is included and configured to connectto the local Kubernetes server. If you have kubectl already installed andpointing to some other environment, such as minikube or a GKE cluster, be sureto change context so that kubectl is pointing to docker-for-desktop:

If you installed kubectl with Homebrew, or by some other method, andexperience conflicts, remove /usr/local/bin/kubectl.

  • To enable Kubernetes support and install a standalone instance of Kubernetesrunning as a Docker container, select Enable Kubernetes. To set Kubernetes as thedefault orchestrator, select Deploy Docker Stacks to Kubernetes by default.

    Oct 22, 2012  Hi I'm new here and I'm happy to be the proud owner of my first MAC computer. Loving it so far but I need to get used to some functions available to a normal PC. Can anyone telll me if it's possible to search for spefic words within a document or website. How to Search for Text Within a Web Page in Safari. Find specific words or phrases on a web page faster with these shortcuts for Safari on the Mac and iOS. How to Find Text Within a Page in OS X. Nov 13, 2018  Pages for Mac: Find and replace text in a Pages document. In Pages on your Mac, search for words, phrases, numbers, and characters in a document, and automatically replace text with new content. In the search field, enter the word or phrase you want to. How to search a page for a word machine.

    Click Apply & Restart to save the settings. This instantiates images required to run the Kubernetes server as containers, and installs the/usr/local/bin/kubectl command on your Mac.

    When Kubernetes is enabled and running, an additional status bar item displaysat the bottom right of the Docker Desktop Preferences dialog.

    The status of Kubernetes shows in the Docker menu and the context points todocker-desktop.

  • By default, Kubernetes containers are hidden from commands like dockerservice ls, because managing them manually is not supported. To make themvisible, select Show system containers (advanced) and click Apply andRestart. Most users do not need this option.

  • To disable Kubernetes support at any time, clear the Enable Kubernetes check box. TheKubernetes containers are stopped and removed, and the/usr/local/bin/kubectl command is removed.

    For more about using the Kubernetes integration with Docker Desktop, seeDeploy on Kubernetes.

Reset

Git Bash For Mac Os

Reset and Restart options

On Docker Desktop Mac, the Restart Docker Desktop, Reset to factory defaults, and other reset options are available from the Troubleshoot menu.

For information about the reset options, see Logs and Troubleshooting.

Add TLS certificates

You can add trusted Certificate Authorities (CAs) (used to verify registryserver certificates) and client certificates (used to authenticate toregistries) to your Docker daemon.

Add custom CA certificates (server side)

All trusted CAs (root or intermediate) are supported. Docker Desktop creates acertificate bundle of all user-trusted CAs based on the Mac Keychain, andappends it to Moby trusted certificates. So if an enterprise SSL certificate istrusted by the user on the host, it is trusted by Docker Desktop.

To manually add a custom, self-signed certificate, start by adding thecertificate to the macOS keychain, which is picked up by Docker Desktop. Here isan example:

Or, if you prefer to add the certificate to your own local keychain only (ratherthan for all users), run this command instead:

See also, Directory structures forcertificates.

Note: You need to restart Docker Desktop after making any changes to thekeychain or to the ~/.docker/certs.d directory in order for the changes totake effect.

For a complete explanation of how to do this, see the blog post AddingSelf-signed Registry Certs to Docker & Docker Desktop forMac.

Add client certificates

You can put your client certificates in~/.docker/certs.d/<MyRegistry>:<Port>/client.cert and~/.docker/certs.d/<MyRegistry>:<Port>/client.key.

When the Docker Desktop application starts, it copies the ~/.docker/certs.dfolder on your Mac to the /etc/docker/certs.d directory on Moby (the DockerDesktop xhyve virtual machine).

  • You need to restart Docker Desktop after making any changes to the keychainor to the ~/.docker/certs.d directory in order for the changes to takeeffect.

  • The registry cannot be listed as an insecure registry (see DockerDaemon). Docker Desktop ignores certificates listedunder insecure registries, and does not send client certificates. Commandslike docker run that attempt to pull from the registry produce errormessages on the command line, as well as on the registry.

Directory structures for certificates

If you have this directory structure, you do not need to manually add the CAcertificate to your Mac OS system login:

The following further illustrates and explains a configuration with customcertificates:

You can also have this directory structure, as long as the CA certificate isalso in your keychain.

To learn more about how to install a CA root certificate for the registry andhow to set the client TLS certificate for verification, see Verify repositoryclient with certificates in the Docker Enginetopics.

Install shell completion

Docker Desktop comes with scripts to enable completion for the docker,docker-machine, and docker-compose commands. The completion scripts may befound inside Docker.app, in the Contents/Resources/etc/ directory and can beinstalled both in Bash and Zsh.

Bash

Bash has built-in support forcompletion To activate completion for Docker commands, these files need to becopied or symlinked to your bash_completion.d/ directory. For example, if youinstalled bash via Homebrew:

Add the following to your ~/.bash_profile:

OR

Zsh

In Zsh, the completionsystem takes care of things. To activate completion for Docker commands,these files need to be copied or symlinked to your Zsh site-functions/directory. For example, if you installed Zsh via Homebrew:

Give feedback and get help

To get help from the community, review current user topics, join or start adiscussion, log on to our Docker Desktop for Macforum.

To report bugs or problems, log on to Docker Desktop for Mac issues onGitHub,where you can review community reported issues, and file new ones. See Logsand Troubleshooting for more details.

For information about providing feedback on the documentation or update it yourself, see Contribute to documentation.

Docker Hub

Select Sign in /Create Docker ID from the Docker Desktop menu to access your Docker Hub account. Once logged in, you can access your Docker Hub repositories and organizations directly from the Docker Desktop menu.

For more information, refer to the following Docker Hub topics:

Two-factor authentication

Docker Desktop enables you to sign into Docker Hub using two-factor authentication. Two-factor authentication provides an extra layer of security when accessing your Docker Hub account.

You must enable two-factor authentication in Docker Hub before signing into your Docker Hub account through Docker Desktop. For instructions, see Enable two-factor authentication for Docker Hub.

After you have enabled two-factor authentication:

  1. Go to the Docker Desktop menu and then select Sign in / Create Docker ID.

  2. Enter your Docker ID and password and click Sign in.

  3. After you have successfully signed in, Docker Desktop prompts you to enter the authentication code. Enter the six-digit code from your phone and then click Verify.

After you have successfully authenticated, you can access your organizations and repositories directly from the Docker Desktop menu.

Where to go next

  • Try out the walkthrough at Get Started.

  • Dig in deeper with Docker Labs examplewalkthroughs and source code.

  • For a summary of Docker command line interface (CLI) commands, see Docker CLIReference Guide.

  • Check out the blog post, What’s New in Docker 17.06 Community Edition(CE).

mac, edge, tutorial