Files
qt-creator/doc/qtcreator/src/docker/creator-docker.qdoc
Leena Miettinen 65cfbc1b6e Doc: Use "remote Linux" instead of "generic remote Linux"
- Reflect the term changes in the UI.
- Move info about SSH port property to the wizard step list.
- Make the topic names in "Deploying to Devices" shorter.
- Remove some unnecessary "if defined(qtdesignstudio)" conditions
  from topics that are not used in the QDS Manual.

Task-number: QTCREATORBUG-27876
Change-Id: I2282257f245c31af82a41ea0e533407bf1cbd775
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-11-08 08:31:30 +00:00

152 lines
6.6 KiB
Plaintext

// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page creator-adding-docker-devices.html
\previouspage creator-developing-b2qt.html
\nextpage creator-developing-ios.html
\title Adding Docker Devices
Create Docker devices from \l{ https://docs.docker.com/get-started/overview/}
{Docker images} and use them to build, run, and debug applications. A Docker
container operates like a virtual machine but uses less system resources at
the cost of being less flexible.
Docker support is experimental. While Linux, \macos, and Windows hosts are
supported in principle, Linux is the recommended platform.
Currently, only CMake is supported for building applications in the Docker
container.
To build, run, and debug applications on Docker devices, you must install and
configure \c docker-cli on the development host. \QC automatically detects
\l{Adding Kits}{build and run kit} items, such \l{Adding Debuggers}
{debuggers} and \l{Adding Qt Versions}{Qt versions}, in the Docker container
and creates kits for the devices.
You can use images that are available locally. You can pull
images from Docker hub or other registries using the
\l{https://docs.docker.com/engine/reference/commandline/pull/}{docker pull}
command. To check that an image is available locally, run the
\c {docker images} command in a terminal.
\section1 Enabling Docker Plugin
To enable the experimental Docker plugin:
\list 1
\li In \QC, select \uicontrol Help > \uicontrol {About Plugins} >
\uicontrol Utilities > \uicontrol {Docker (experimental)}.
\li Select \uicontrol {Restart Now} to restart \QC and load the plugin.
\endlist
\section1 Adding Docker Images as Devices
To add a Docker image as a device:
\list 1
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Devices
> \uicontrol Docker and enter the path to the Docker CLI in
the \uicontrol Command field.
\image qtcreator-preferences-devices-docker.webp "Docker tab in Devices preferences"
\li Select \uicontrol Devices > \uicontrol Add >
\uicontrol {Docker Device} > \uicontrol {Start Wizard}
to search for images in your local Docker installation.
\li Select the Docker image to use, and then select \uicontrol OK.
\li In \uicontrol Devices, check and modify Docker device preferences.
\image qtcreator-preferences-devices-docker-device.webp "Docker device preferences"
\li Select \uicontrol {Run as outside user} to use the user ID
and group ID of the user running \QC in the Docker container.
\li Select \uicontrol {Do not modify entry point} to stop \QC from
modifying the entry point of the image if the image starts into
a shell.
\li In \uicontrol {Paths to mount}, specify host directories to
mount into the container, such as the project directory.
\li In \uicontrol {Search locations}, select where to search
for kit items.
\li Select \uicontrol {Auto-detect Kit Items} to find kit items and to
create kits for the Docker device.
\li Select \uicontrol Apply to save your changes.
\endlist
The following sections describe the Docker device preferences in more detail.
\section2 Selecting Docker Images
The \uicontrol {Docker Image Selection} dialog displays a list of Docker
images in your local Docker installation. You can sort the images according
to the repository name or tag or the image ID or size.
\image qtcreator-docker-image-selection.webp "Docker Image Selection dialog"
Select \uicontrol {Show unnamed images} to show images that are not tagged.
Double-click an image to select it.
\section2 Modifying Entry Points
The entry point of a Docker container is specified in the container settings
and started as the main process when starting the container. The entry point
can be a shell, an SSH server, or another process, for example. By default,
\QC modifies the entry point before it starts a container to make sure that
the main process is an \c sh shell.
To stop \QC from modifying the entry point, select
\uicontrol {Do not modify entry point}. However, if the entry
point you specify is not a shell, \QC cannot start the container.
\section2 Specifying Paths to Mount
You can either copy your project files into the Docker container or specify
paths to them in \uicontrol {Paths to mount}. Shared mounts are restricted
to locations in the host system that can end up in the same absolute location
in the Docker container. On Windows, network mounts cannot be used as shared
mounts.
The paths in \uicontrol {Paths to mount} are mapped one-to-one to the Docker
container. Select \uicontrol Insert to browse directories to add. Select
\uicontrol {Delete Line} to delete the selected path or \uicontrol Clear
to delete all paths.
\section2 Auto-detecting Kit Items
Select \uicontrol {Auto-detect Kit Items} to find kit items and create kits
for the Docker device. You can search for kit items in the device's PATH or
in the specified directories.
In \uicontrol {Search locations}, select:
\list
\li \uicontrol {Search in PATH} to find kit items in PATH.
\li \uicontrol {Search in Selected Directories} to find kit items in
the selected directories.
\li \uicontrol {Search in PATH and Additional Directories} to find kit
items in the PATH and in the selected directories.
\endlist
When searching in directories, enter a semicolon-separated list of directory
paths in the Docker image to scan for kit entries.
To list the automatically detected kit items, select
\uicontrol {List Auto-Detected Kit Items}. To remove
them, select \uicontrol {Remove Auto-Detected Kit Items}.
\section1 Editing Docker Device Kits
Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits to check
that the automatically generated kits point to the appropriate kit items.
To specify build settings:
\list 1
\li Open a project for an application you want to develop for the
device.
\li Select \uicontrol Projects > \uicontrol {Build & Run} to enable
the kit that you specified above.
\endlist
Select \uicontrol Run to specify run settings. Usually, you can use
the default settings.
*/