---
name: "lxc-start"
section: "1"
platform: "linux"
package: "lxc"
version: "1:7.0.0-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/lxc-start"
---

# lxc-start(1)

run an application inside a container.

## NAME

lxc-start - run an application inside a container.

## SYNOPSIS

**lxc-start**  {-n *name*} \[-f *config\_file*\] \[-c *console\_device*\] \[-L *console\_logfile*\] \[-d\] \[-F\] \[-p *pid\_file*\] \[-s KEY=VAL\] \[-C\] \[--share-\[net\|ipc\|uts\] *name\|pid*\] \[command\]

## DESCRIPTION

**lxc-start** runs the specified *command* inside the container specified by *name*.

It will setup the container according to the configuration previously defined with the lxc-create command or with the configuration file parameter. If no configuration is defined, the default isolation is used.

If no command is specified, **lxc-start** will use the command defined in lxc.init.cmd or if not set, the default **"/sbin/init"** command to run a system container.

## OPTIONS

- FC**-d, --daemon**F\[0\]

  Run the container as a daemon. As the container has no more tty, if an error occurs nothing will be displayed, the log file can be used to check the error. (This is the default mode)

- FC**-F, --foreground**F\[0\]

  Run the container in the foreground. In this mode, the container console will be attached to the current tty and signals will be routed directly to the container.

- FC**-p, --pidfile** F\[0\]*pid\_file*

  Create a file with the process id.

- FC**-f, --rcfile** F\[0\]*config\_file*

  Specify the configuration file to configure the virtualization and isolation functionalities for the container.

  This configuration file if present will be used even if there is already a configuration file present in the previously created container (via lxc-create).

- FC**-c, --console** F\[0\]*console\_device*

  Specify a device to use for the container's console, for example /dev/tty8. If this option is not specified the current terminal will be used unless FC**-d**F\[0\] is specified.

- FC**-L, --console-log** F\[0\]*console\_logfile*

  Specify a file to log the container's console output to.

- FC**-s, --define** F\[0\]*KEY=VAL*

  Assign value *VAL* to configuration variable *KEY*. This overrides any assignment done in *config\_file*.

- FC**-C, --close-all-fds**F\[0\]

  If any file descriptors are inherited, close them. If this option is not specified, then **lxc-start** will exit with failure instead. Note: *--daemon* implies *--close-all-fds*.

- FC**--share-net** F\[0\]*name\|pid*

  Inherit a network namespace from a *name* container or a *pid*. The network namespace will continue to be managed by the original owner. The network configuration of the starting container is ignored and the up/down scripts won't be executed.

- FC**--share-ipc** F\[0\]*name\|pid*

  Inherit an IPC namespace from a *name* container or a *pid*.

- FC**--share-uts** F\[0\]*name\|pid*

  Inherit a UTS namespace from a *name* container or a *pid*. The starting LXC will not set the hostname, but the container OS may do it anyway.

## COMMON OPTIONS

These options are common to most of lxc commands.

- FC**-?, -h, --help**F\[0\]

  Print a longer usage message than normal.

- FC**--usage**F\[0\]

  Give the usage message

- FC**-q, --quiet**F\[0\]

  mute on

- FC**-P, --lxcpath=**F\[0\]*PATH*

  Use an alternate container path. The default is /var/lib/lxc.

- FC**-o, --logfile=**F\[0\]*FILE*

  Output to an alternate log *FILE*. The default is no log.

- FC**-l, --logpriority=**F\[0\]*LEVEL*

  Set log priority to *LEVEL*. The default log priority is FCERRORF\[0\]. Possible values are : FCFATALF\[0\], FCALERTF\[0\], FCCRITF\[0\], FCWARNF\[0\], FCERRORF\[0\], FCNOTICEF\[0\], FCINFOF\[0\], FCDEBUGF\[0\], FCTRACEF\[0\].

  Note that this option is setting the priority of the events log in the alternate log file. It do not have effect on the ERROR events log on stderr.

- FC**-n, --name=**F\[0\]*NAME*

  Use container identifier *NAME*. The container identifier format is an alphanumeric string.

- FC**--rcfile=**F\[0\]*FILE*

  Specify the configuration file to configure the virtualization and isolation functionalities for the container.

  This configuration file if present will be used even if there is already a configuration file present in the previously created container (via lxc-create).

- FC**--version**F\[0\]

  Show the version number.

## DIAGNOSTIC

- The container is busy

  The specified container is already running an application. You should stop it before reuse this container or create a new one.

## SEE ALSO

[**lxc**(7)](/lxc/7.md), [**lxc-create**(1)](/lxc-create/1.md), [**lxc-copy**(1)](/lxc-copy/1.md), [**lxc-destroy**(1)](/lxc-destroy/1.md), [**lxc-start**(1)](/lxc-start/1.md), [**lxc-stop**(1)](/lxc-stop/1.md), [**lxc-execute**(1)](/lxc-execute/1.md), [**lxc-console**(1)](/lxc-console/1.md), [**lxc-monitor**(1)](/lxc-monitor/1.md), [**lxc-wait**(1)](/lxc-wait/1.md), [**lxc-cgroup**(1)](/lxc-cgroup/1.md), [**lxc-ls**(1)](/lxc-ls/1.md), [**lxc-info**(1)](/lxc-info/1.md), [**lxc-freeze**(1)](/lxc-freeze/1.md), [**lxc-unfreeze**(1)](/lxc-unfreeze/1.md), [**lxc-attach**(1)](/lxc-attach/1.md), [**lxc.conf**(5)](/lxc.conf/5.md)
