<variablelist>
<varlistentry>
<term>
- <option>lxc.utsname</option>
+ <option>lxc.uts.name</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.haltsignal</option>
+ <option>lxc.signal.halt</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.rebootsignal</option>
+ <option>lxc.signal.reboot</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.stopsignal</option>
+ <option>lxc.signal.stop</option>
</term>
<listitem>
<para>
<listitem>
<para>
<!--
- UID to use within a private user namesapce for init.
+ UID to use within a private user namespace for init.
-->
init이 사용자 네임스페이스 안에서 사용할 UID.
</para>
<listitem>
<para>
<!--
- GID to use within a private user namesapce for init.
+ GID to use within a private user namespace for init.
-->
init이 사용자 네임스페이스 안에서 사용할 GID.
</para>
<varlistentry>
<term>
- <option>lxc.net.[i].ipv4</option>
+ <option>lxc.net.[i].ipv4.address</option>
</term>
<listitem>
<para>
<varlistentry>
<term>
- <option>lxc.net.[i].ipv6</option>
+ <option>lxc.net.[i].ipv6.address</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.pts</option>
+ <option>lxc.pty.max</option>
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- <option>lxc.console</option>
+ <option>lxc.console.path</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.tty</option>
+ <option>lxc.tty.max</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.devttydir</option>
+ <option>lxc.tty.dir</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.mount</option>
+ <option>lxc.mount.fstab</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.rootfs</option>
+ <option>lxc.rootfs.path</option>
</term>
<listitem>
<para>
<listitem>
<para>
<!--
- where to recursively bind <option>lxc.rootfs</option>
+ where to recursively bind <option>lxc.rootfs.path</option>
before pivoting. This is to ensure success of the
<citerefentry>
<refentrytitle><command>pivot_root</command></refentrytitle>
syscall. Any directory suffices, the default should
generally work.
-->
- 루트 파일시스템을 변경하기 전에, <option>lxc.rootfs</option>을 어디에 재귀적으로 바인드할지 정한다. 이는
+ 루트 파일시스템을 변경하기 전에, <option>lxc.rootfs.path</option>을 어디에 재귀적으로 바인드할지 정한다. 이는
<citerefentry>
<refentrytitle><command>pivot_root</command></refentrytitle>
<manvolnum>8</manvolnum>
</listitem>
</varlistentry>
- <varlistentry>
- <term>
- <option>lxc.rootfs.backend</option>
- </term>
- <listitem>
- <para>
- <!--
- specify the rootfs backend type to use, for instance 'dir' or
- 'zfs'. While this can be guessed by lxc at container startup,
- doing so takes time. Specifying it here avoids extra
- processing.
- -->
- 사용하고자 하는 백엔드 루트파일 시스템의 종류를 지정한다. 'dir' 또는 'zfs'로 지정할 수 있다. 컨테이너 시작시 어떤 종류인지 추정하는 동안, 시간이 소요될 수 있다. 이 값을 지정함으로써 추가적인 처리를 피할 수 있다.
- </para>
- </listitem>
- </varlistentry>
-
</variablelist>
</refsect2>
container should be run can be specified in the container
configuration. The default is <command>lxc-container-default-cgns</command>
if the host kernel is cgroup namespace aware, or
- <command>lxc-container-default</command> othewise.
+ <command>lxc-container-default</command> otherwise.
-->
lxc가 apparmor를 지원하도록 컴파일된 후 설치되었고, 호스트 시스템에서 apparmor가 활성화되었다면, 컨테이너에서 따라야할 apparmor 프로파일을 컨테이너 설정에서 지정할 수 있다. 기본값은 호스트 커널이 cgroup 네임스페이스를 지원하면 <command>lxc-container-default-cgns</command>이고, 그렇지 않다면 <command>lxc-container-default</command>이다.
</para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.aa_profile</option>
+ <option>lxc.apparmor.profile</option>
</term>
<listitem>
<para>
컨테이너가 따라야할 apparmor 프로파일을 지정한다.
컨테이너가 apparmor로 인한 제한을 받지 않도록 하려면, 아래와 같이 지정하면 된다.
</para>
- <programlisting>lxc.aa_profile = unconfined</programlisting>
+ <programlisting>lxc.apparmor.profile = unconfined</programlisting>
<para>
<!--
If the apparmor profile should remain unchanged (i.e. if you
-->
apparmor 프로파일이 변경되지 않아야 한다면(중첩 컨테이너 안에 있고, 이미 confined된 경우), 아래와 같이 지정하면 된다.
</para>
- <programlisting>lxc.aa_profile = unchanged</programlisting>
+ <programlisting>lxc.apparmor.profile = unchanged</programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>
- <option>lxc.aa_allow_incomplete</option>
+ <option>lxc.apparmor.allow_incomplete</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.se_context</option>
+ <option>lxc.selinux.context</option>
</term>
<listitem>
<para>
-->
컨테이너가 따라야할 SELinux 컨텍스트를 지정하거나, <command>unconfined_t</command>를 지정할 수 있다. 예를 들어 아래와 같이 지정 가능하다.
</para>
- <programlisting>lxc.se_context = system_u:system_r:lxc_t:s0:c22</programlisting>
+ <programlisting>lxc.selinux.context = system_u:system_r:lxc_t:s0:c22</programlisting>
</listitem>
</varlistentry>
</variablelist>
Versions 1 and 2 are currently supported. In version 1, the
policy is a simple whitelist. The second line therefore must
read "whitelist", with the rest of the file containing one (numeric)
- sycall number per line. Each syscall number is whitelisted,
+ syscall number per line. Each syscall number is whitelisted,
while every unlisted number is blacklisted for use in the container
-->
현재는 버전1과 2만 지원된다. 버전 1에서는 정책은 단순한 화이트리스트이다. 그러므로 두번째 라인은 반드시 "whitelist"여야 한다. 파일의 나머지 내용은 한 줄에 하나의 시스템콜 번호로 채워진다. 화이트리스트에 없는 번호는 컨테이너에서 블랙리스트로 들어간다.
<variablelist>
<varlistentry>
<term>
- <option>lxc.seccomp</option>
+ <option>lxc.seccomp.profile</option>
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
- <option>lxc.id_map</option>
+ <option>lxc.idmap</option>
</term>
<listitem>
<para>
<listitem><para> LXC_ROOTFS_MOUNT: the path to the mounted root filesystem. </para></listitem>
<listitem><para> LXC_CONFIG_FILE: the path to the container configuration file. </para></listitem>
<listitem><para> LXC_SRC_NAME: in the case of the clone hook, this is the original container's name. </para></listitem>
- <listitem><para> LXC_ROOTFS_PATH: this is the lxc.rootfs entry for the container. Note this is likely not where the mounted rootfs is to be found, use LXC_ROOTFS_MOUNT for that. </para></listitem>
+ <listitem><para> LXC_ROOTFS_PATH: this is the lxc.rootfs.path entry for the container. Note this is likely not where the mounted rootfs is to be found, use LXC_ROOTFS_MOUNT for that. </para></listitem>
</itemizedlist>
-->
컨테이너 훅이 실행될 때, 정보는 명령어 인수나 환경 변수를 통해 넘겨진다.
<listitem><para> LXC_ROOTFS_MOUNT: 마운트될 루트 파일시스템의 경로</para></listitem>
<listitem><para> LXC_CONFIG_FILE: 컨테이너 설정파일의 경로</para></listitem>
<listitem><para> LXC_SRC_NAME: clone 훅의 경우, 원본 컨테이너의 이름</para></listitem>
- <listitem><para> LXC_ROOTFS_PATH: 컨테이너의 lxc.rootfs 항목. 이 것은 마운트된 루트 파일시스템을 가리키는 것이 아님에 주의해야한다. 그 목적을 위해서는 LXC_ROOTFS_MOUNT를 사용해야 한다.</para></listitem>
+ <listitem><para> LXC_ROOTFS_PATH: 컨테이너의 lxc.rootfs.path 항목. 이 것은 마운트된 루트 파일시스템을 가리키는 것이 아님에 주의해야한다. 그 목적을 위해서는 LXC_ROOTFS_MOUNT를 사용해야 한다.</para></listitem>
</itemizedlist>
</para>
<para>
<para>
<!--
The path to the console output of the container if not NULL.
- [<option>-c</option>] [<option>lxc.console</option>]
+ [<option>-c</option>] [<option>lxc.console.path</option>]
-->
NULL이 아니라면, 컨테이너의 콘솔의 출력이 저장될 경로.
- [<option>-c</option>] [<option>lxc.console</option>]
+ [<option>-c</option>] [<option>lxc.console.path</option>]
</para>
</listitem>
</varlistentry>
<!--
The host relative path to the container root which has been
mounted to the rootfs.mount location.
- [<option>lxc.rootfs</option>]
+ [<option>lxc.rootfs.path</option>]
-->
rootfs.mount에 마운트된 컨테이너 루트의 호스트에서의 경로이다.
- [<option>lxc.rootfs</option>]
+ [<option>lxc.rootfs.path</option>]
</para>
</listitem>
</varlistentry>
<variablelist>
<varlistentry>
<term>
- <option>lxc.loglevel</option>
+ <option>lxc.log.level</option>
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- <option>lxc.logfile</option>
+ <option>lxc.log</option>
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- <option>lxc.syslog</option>
+ <option>lxc.log.syslog</option>
</term>
<listitem>
<para>
<!--
Send logging info to syslog. It respects the log level defined in
- <command>lxc.loglevel</command>. The argument should be the syslog
+ <command>lxc.log.level</command>. The argument should be the syslog
facility to use, valid ones are: daemon, local0, local1, local2,
local3, local4, local5, local5, local7.
-->
- 로그정보를 syslog에 보낸다. 로그 수준은 <command>lxc.loglevel</command>로 지정할 수 있다. 인자는 syslog에 정의된 값으로만 지정할 수 있다. 사용 가능한 값은 다음과 같다 : daemon, local0, local1, local2, local3, local4, local5, local5, local7
+ 로그정보를 syslog에 보낸다. 로그 수준은 <command>lxc.log.level</command>로 지정할 수 있다. 인자는 syslog에 정의된 값으로만 지정할 수 있다. 사용 가능한 값은 다음과 같다 : daemon, local0, local1, local2, local3, local4, local5, local5, local7
</para>
</listitem>
</varlistentry>
이 설정은 컨테이너가 한 쪽은 (이전에 시스템에 이미 생성된) br0 브리지에 연결되어 있는 veth 장치 쌍을 사용하도록 세팅한다. 가상 네트워크 장치는 컨테이너 내에서 eth0라는 이름을 갖는다.
</para>
<programlisting>
- lxc.utsname = myhostname
+ lxc.uts.name = myhostname
lxc.net.0.type = veth
lxc.net.0.flags = up
lxc.net.0.link = br0
lxc.net.0.name = eth0
lxc.net.0.hwaddr = 4a:49:43:49:79:bf
- lxc.net.0.ipv4 = 1.2.3.5/24 1.2.3.255
- lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
+ lxc.net.0.ipv4.address = 1.2.3.5/24 1.2.3.255
+ lxc.net.0.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3597
</programlisting>
</refsect2>
이 설정은 UID와 GID 둘다를 컨테이너의 0 ~ 9999를 호스트의 100000 ~ 109999로 매핑한다.
</para>
<programlisting>
- lxc.id_map = u 0 100000 10000
- lxc.id_map = g 0 100000 10000
+ lxc.idmap = u 0 100000 10000
+ lxc.idmap = g 0 100000 10000
</programlisting>
</refsect2>
아래의 예제는 복잡한 네트워크 스택, 컨트롤 그룹 사용, 호스트 이름 설정, 몇몇 장소 마운트, 루트 파일시스템 변경 등의 복잡한 설정을 보여준다.
</para>
<programlisting>
- lxc.utsname = complex
+ lxc.uts.name = complex
lxc.net.0.type = veth
lxc.net.0.flags = up
lxc.net.0.link = br0
lxc.net.0.hwaddr = 4a:49:43:49:79:bf
- lxc.net.0.ipv4 = 10.2.3.5/24 10.2.3.255
- lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
- lxc.net.0.ipv6 = 2003:db8:1:0:214:5432:feab:3588
+ lxc.net.0.ipv4.address = 10.2.3.5/24 10.2.3.255
+ lxc.net.0.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3597
+ lxc.net.0.ipv6.address = 2003:db8:1:0:214:5432:feab:3588
lxc.net.1.type = macvlan
lxc.net.1.flags = up
lxc.net.1.link = eth0
lxc.net.1.hwaddr = 4a:49:43:49:79:bd
- lxc.net.1.ipv4 = 10.2.3.4/24
- lxc.net.1.ipv4 = 192.168.10.125/24
- lxc.net.1.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596
+ lxc.net.1.ipv4.address = 10.2.3.4/24
+ lxc.net.1.ipv4.address = 192.168.10.125/24
+ lxc.net.1.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3596
lxc.net.2.type = phys
lxc.net.2.flags = up
lxc.net.2.link = dummy0
lxc.net.2.hwaddr = 4a:49:43:49:79:ff
- lxc.net.2.ipv4 = 10.2.3.6/24
- lxc.net.2.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297
+ lxc.net.2.ipv4.address = 10.2.3.6/24
+ lxc.net.2.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3297
lxc.cgroup.cpuset.cpus = 0,1
lxc.cgroup.cpu.shares = 1234
lxc.cgroup.devices.deny = a
lxc.cgroup.devices.allow = c 1:3 rw
lxc.cgroup.devices.allow = b 8:0 rw
- lxc.mount = /etc/fstab.complex
+ lxc.mount.fstab = /etc/fstab.complex
lxc.mount.entry = /lib /root/myrootfs/lib none ro,bind 0 0
- lxc.rootfs = /mnt/rootfs.complex
+ lxc.rootfs.path = dir:/mnt/rootfs.complex
lxc.cap.drop = sys_module mknod setuid net_raw
lxc.cap.drop = mac_override
</programlisting>