lxc.sgml.in revision 57da8c32f85c0255efa61ee32e260068afdaa565
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumilxc: linux Container library
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi(C) Copyright IBM Corp. 2007, 2008
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAuthors:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiDaniel Lezcano <daniel.lezcano at free.fr>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiThis library is free software; you can redistribute it and/or
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumimodify it under the terms of the GNU Lesser General Public
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiLicense as published by the Free Software Foundation; either
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiversion 2.1 of the License, or (at your option) any later version.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiThis library is distributed in the hope that it will be useful,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumibut WITHOUT ANY WARRANTY; without even the implied warranty of
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiLesser General Public License for more details.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiYou should have received a copy of the GNU Lesser General Public
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiLicense along with this library; if not, write to the Free Software
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiTranslated into Japanese
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiby KATOH Yasufumi <karma at jazz.email.ne.jp>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi-->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi]>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<refentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <docinfo>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <date>@LXC_GENERATE_DATE@</date>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </docinfo>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refmeta>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refentrytitle>lxc</refentrytitle>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <manvolnum>7</manvolnum>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refmiscinfo>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Version @PACKAGE_VERSION@
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refmiscinfo>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refmeta>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refnamediv>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refname>lxc</refname>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refpurpose>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi linux containers
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Linux コンテナ
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refpurpose>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refnamediv>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Quick start -->クイックスタート</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi You are in a hurry, and you don't want to read this man page. Ok,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi without warranty, here are the commands to launch a shell inside
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi a container with a predefined configuration template, it may
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi work.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>@BINDIR@/lxc-execute -n foo -f
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi @DOCDIR@/examples/lxc-macvlan.conf /bin/bash</command>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 急いでいて,この man ページすら読みたくないという場合は,いいでしょう,保証はないですが,あらかじめ準備されている設定テンプレートを使ったコンテナ内でシェルを動かすためのコマンドを紹介しましょう.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>@BINDIR@/lxc-execute -n foo -f
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi @DOCDIR@/examples/lxc-macvlan.conf /bin/bash</command>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Overview -->概要</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The container technology is actively being pushed into the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi mainstream linux kernel. It provides the resource management
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi through the control groups aka process containers and resource
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi isolation through the namespaces.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナ技術は,メインストリームの linux kernel で活発に開発が進んでいる技術です.コンテナ技術は,control groups の機能を使って,リソース管理を提供します.例えば,namespace を通して,プロセスのコンテナやリソースの隔離の機能を提供するものです.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The linux containers, <command>lxc</command>, aims to use these
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi new functionalities to provide an userspace container object
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi which provides full resource isolation and resource control for
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi an applications or a system.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi linux コンテナ (<command>lxc</command>) は,ユーザースペースのコンテナオブジェクトを提供するための新しい機能を使う事を目指しています.この新しい機能とは,アプリケーションやシステムでの利用を目的とした,完全なリソースの隔離やリソースコントロールを提供する機能です.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The first objective of this project is to make the life easier
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for the kernel developers involved in the containers project and
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi especially to continue working on the Checkpoint/Restart new
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi features. The <command>lxc</command> is small enough to easily
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi manage a container with simple command lines and complete enough
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi to be used for other purposes.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi このプロジェクトの最初の目的は,カーネル開発者がコンテナプロジェクトに参加するのを容易にする事,特に新機能である Checkpoint/Restart 機能への取り組みを続ける事です.<command>lxc</command> コマンドは,シンプルなコマンドでコンテナの管理を簡単に行えるように小さく,他の目的のために使うのに充分な機能を持っています.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Requirements -->必要条件</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The <command>lxc</command> relies on a set of functionalities
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi provided by the kernel which needs to be active. Depending of
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the missing functionalities the <command>lxc</command> will
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi work with a restricted number of functionalities or will simply
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi fail.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc</command> は,カーネルが提供するいくつかの機能に依存しており,その機能がアクティブになっている必要があります.機能が足りない場合は,<command>lxc</command> は,いくつかの機能が制限されるか,単純に動作が失敗します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The following list gives the kernel features to be enabled in
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the kernel to have the full features container:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 以下のリストは,コンテナの全機能を有効にするために,カーネルで有効にする必要のある機能の一覧です.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * General setup
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Control Group support
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Namespace cgroup subsystem
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Freezer cgroup subsystem
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Cpuset support
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Simple CPU accounting cgroup subsystem
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Resource counters
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Memory resource controllers for Control Groups
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Group CPU scheduler
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Basis for grouping tasks (Control Groups)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Namespaces support
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> UTS namespace
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> IPC namespace
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> User namespace
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Pid namespace
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Network namespace
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Device Drivers
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Character devices
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Support multiple instances of devpts
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Network device support
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> MAC-VLAN support
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> Virtual ethernet pair device
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Networking
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Networking options
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> 802.1d Ethernet Bridging
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi * Security options
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -> File POSIX Capabilities
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The kernel version >= 2.6.27 shipped with the distros, will
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi work with <command>lxc</command>, this one will have less
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi functionalities but enough to be interesting.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi With the kernel 2.6.29, <command>lxc</command> is fully
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi functional.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The helper script <command>lxc-checkconfig</command> will give
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi you information about your kernel configuration.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 2.6.27 以上のバージョンが採用されているディストリビューションならば,<command>lxc</command> は動作するでしょう.機能的には若干少ない形ですが,充分に楽しめるはずです.2.6.29 カーネルであれば,<command>lxc</command> は完全に機能します.ヘルパースクリプトの <command>lxc-checkconfig</command> を使って,あなたのカーネルの設定に関する情報を取得できるでしょう.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Before using the <command>lxc</command>, your system should be
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi configured with the file capabilities, otherwise you will need
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi to run the <command>lxc</command> commands as root.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc</command> を使う前に,システムがファイルに対するケーパビリティーをえられるように設定するか,もしくは <command>lxc</command> コマンドを root で実行する必要があるでしょう.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The control group can be mounted anywhere, eg:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>mount -t cgroup cgroup /cgroup</command>.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi If you want to dedicate a specific cgroup mount point
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for <command>lxc</command>, that is to have different cgroups
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi mounted at different places with different options but
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi let <command>lxc</command> to use one location, you can bind
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the mount point with the <option>lxc</option> name, eg:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>mount -t cgroup lxc /cgroup4lxc</command> or
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>mount -t cgroup -ons,cpuset,freezer,devices
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc /cgroup4lxc</command>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi control group は,どこにでもマウント可能です.例えば,<command>mount -t cgroup cgroup /cgroup</command> のようにです.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi もし,異なる場所で,異なるオプションでマウントされた別々の cgroup を持ち,一つの場所の <command>lxc</command> コマンドを使うための,特定の <command>lxc</command> のための専用の cgroup のマウントポイントを提供したければ,lxc という名前でマウントポイントにバインドすることが出来ます.例えば以下のようにです.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>mount -t cgroup lxc /cgroup4lxc</command> or
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>mount -t cgroup -ons,cpuset,freezer,devices
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc /cgroup4lxc</command>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Functional specification -->機能仕様</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi A container is an object isolating some resources of the host,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for the application or system running in it.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナは,コンテナ内で実行されているシステムやアプリケーションに対するホストのリソースのいくつかが,隔離されているオブジェクトです.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The application / system will be launched inside a
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container specified by a configuration that is either
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi initially created or passed as parameter of the starting
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi commands.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi アプリケーション/システムは,あらかじめ作成された設定もしくは開始コマンドのパラメータで指定された設定で,コンテナ内で実行されます.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi How to run an application in a container ?
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi どうやってコンテナ内でアプリケーションを実行するのでしょう?
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Before running an application, you should know what are the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi resources you want to isolate. The default configuration is to
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi isolate the pids, the sysv ipc and the mount points. If you want
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi to run a simple shell inside a container, a basic configuration
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi is needed, especially if you want to share the rootfs. If you
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi want to run an application like <command>sshd</command>, you
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi should provide a new network stack and a new hostname. If you
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi want to avoid conflicts with some files
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi eg. <filename>/var/run/httpd.pid</filename>, you should
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi remount <filename>/var/run</filename> with an empty
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi directory. If you want to avoid the conflicts in all the cases,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi you can specify a rootfs for the container. The rootfs can be a
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi directory tree, previously bind mounted with the initial rootfs,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi so you can still use your distro but with your
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi own <filename>/etc</filename> and <filename>/home</filename>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi アプリケーションを実行する前に,隔離したいリソースについて知っておくべきです.デフォルトの設定では,pid,sysv ipc,マウントポイントが隔離されます.コンテナ内でシンプルなシェルを実行したい場合で,特に rootfs を共有したい場合,基本的な設定が必要です.もし,<command>sshd</command> のようなアプリケーションを実行したい場合,新しいネットワークスタックと,新しいホスト名を準備しなくてはなりません.もし,同じファイル (<filename>/var/run/httpd.pid</filename> 等) の衝突を避けたい場合,空の <filename>/var/run/</filename> を再度マウントしなければなりません.どんな場合でも,衝突を避けたい場合,コンテナ専用の rootfs を指定することができます.rootfs はディレクトリツリーとなる事も可能で,前もって元の rootfs を bind マウントし,しかし,自身の <filename>/etc</filename> や <filename>/home</filename>を使って.自身のディストリビューションを使うことが可能です.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Here is an example of directory tree
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for <command>sshd</command>:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi[root@lxc sshd]$ tree -d rootfs
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumirootfs
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; bin
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; dev
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi| |&#045;&#045; pts
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi| `&#045;&#045; shm
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi| `&#045;&#045; network
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; etc
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi| `&#045;&#045; ssh
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; lib
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; proc
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; root
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; sbin
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; sys
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|&#045;&#045; usr
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi`&#045;&#045; var
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi |&#045;&#045; empty
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | `&#045;&#045; sshd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi |&#045;&#045; lib
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | `&#045;&#045; empty
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | `&#045;&#045; sshd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi `&#045;&#045; run
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi `&#045;&#045; sshd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi and the mount points file associated with it:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi [root@lxc sshd]$ cat fstab
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /lib /home/root/sshd/rootfs/lib none ro,bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /bin /home/root/sshd/rootfs/bin none ro,bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /usr /home/root/sshd/rootfs/usr none ro,bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /sbin /home/root/sshd/rootfs/sbin none ro,bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ここで,<command>sshd</command> のためのディレクトリツリーのサンプルを示しましょう.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi[root@lxc sshd]$ tree -d rootfs
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumirootfs
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- bin
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- dev
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi| |-- pts
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi| `-- shm
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi| `-- network
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- etc
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi| `-- ssh
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- lib
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- proc
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- root
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- sbin
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- sys
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi|-- usr
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi`-- var
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi |-- empty
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | `-- sshd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi |-- lib
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | `-- empty
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | `-- sshd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi `-- run
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi `-- sshd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi そして,それに対応するマウントポイントのファイルは以下のようになります.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi [root@lxc sshd]$ cat fstab
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /lib /home/root/sshd/rootfs/lib none ro,bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /bin /home/root/sshd/rootfs/bin none ro,bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /usr /home/root/sshd/rootfs/usr none ro,bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /sbin /home/root/sshd/rootfs/sbin none ro,bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi How to run a system in a container ?
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナ内でシステムを実行する方法は?
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Running a system inside a container is paradoxically easier
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi than running an application. Why ? Because you don't have to care
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi about the resources to be isolated, everything need to be
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi isolated, the other resources are specified as being isolated but
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi without configuration because the container will set them
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi up. eg. the ipv4 address will be setup by the system container
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi init scripts. Here is an example of the mount points file:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi [root@lxc debian]$ cat fstab
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /dev /home/root/debian/rootfs/dev none bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /dev/pts /home/root/debian/rootfs/dev/pts none bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi More information can be added to the container to facilitate the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi configuration. For example, make accessible from the container
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the resolv.conf file belonging to the host.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /etc/resolv.conf /home/root/debian/rootfs/etc/resolv.conf none bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナ内でシステムを実行するのは,逆説的ではありますが,アプリケーションを実行するよりも簡単です.それは,隔離するリソースについて考える必要がないからで,全てを隔離する必要があるからです.他のリソースは,コンテナが設定を行うので,設定なしで隔離されるように指定されます.例えば,IPv4 アドレスはコンテナの init スクリプトでシステムによってセットアップされるでしょう.以下に,(システムを実行するときの) マウントポイントファイルを示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi [root@lxc debian]$ cat fstab
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /dev /home/root/debian/rootfs/dev none bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /dev/pts /home/root/debian/rootfs/dev/pts none bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 設定を手助けするために,コンテナに更なる情報を追加することも可能です.例えば,ホスト上に存在する resolv.conf ファイルをコンテナからアクセス可能にするには,以下のようにします.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi /etc/resolv.conf /home/root/debian/rootfs/etc/resolv.conf none bind 0 0
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Container life cycle -->コンテナのライフサイクル</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi When the container is created, it contains the configuration
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi information. When a process is launched, the container will be
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi starting and running. When the last process running inside the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container exits, the container is stopped.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナが作成されたとき,コンテナは設定情報を含みます.プロセスが生成されたとき,コンテナは開始され,実行されるでしょう.コンテナ内で実行されている最後のプロセスが終了したとき,コンテナは停止します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi In case of failure when the container is initialized, it will
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi pass through the aborting state.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナの初期化時の失敗の場合は,(以下の図の) 中断の状態を通ります.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<![CDATA[
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ---------
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | STOPPED |<---------------
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi --------- |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi start |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi V |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ---------- |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | STARTING |--error- |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ---------- | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi V V |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi --------- ---------- |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | RUNNING | | ABORTING | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi --------- ---------- |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi no process | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi V | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ---------- | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | STOPPING |<------- |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ---------- |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi | |
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ---------------------
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi]]>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Configuration -->設定</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The container is configured through a configuration
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi file, the format of the configuration file is described in
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <citerefentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refentrytitle><filename>lxc.conf</filename></refentrytitle>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <manvolnum>5</manvolnum>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </citerefentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナは設定ファイル経由で設定します.設定の書式は以下で説明しています.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <citerefentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refentrytitle><filename>lxc.conf</filename></refentrytitle>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <manvolnum>5</manvolnum>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </citerefentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!--Creating / Destroying container
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi (persistent container) -->コンテナの生成と終了 (持続性のコンテナ)</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi A persistent container object can be
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi created via the <command>lxc-create</command>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi command. It takes a container name as parameter and
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi optional configuration file and template.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The name is used by the different
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi commands to refer to this
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container. The <command>lxc-destroy</command> command will
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi destroy the container object.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-create -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-destroy -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 持続性のコンテナオブジェクトは <command>lxc-create</command> コマンドで作成することができます.コマンドにはコンテナ名をパラメータとして,オプションで設定ファイルとテンプレートを指定します.ここで指定する名前は,他のコマンドからこのコンテナを参照する際に使います.<command>lxc-destroy</command> コマンドはコンテナオブジェクトを破壊します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-create -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-destroy -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Volatile container -->揮発性のコンテナ</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi It is not mandatory to create a container object
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi before to start it.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The container can be directly started with a
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi configuration file as parameter.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナを開始する前にコンテナオブジェクトを作成する必要はありません.コンテナを設定ファイルのパラメータで指定して直接開始することができます.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Starting / Stopping container -->コンテナの開始と終了</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi When the container has been created, it is ready to run an
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi application / system.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi This is the purpose of the <command>lxc-execute</command> and
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-start</command> commands.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi If the container was not created before
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi starting the application, the container will use the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi configuration file passed as parameter to the command,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi and if there is no such parameter either, then
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi it will use a default isolation.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi If the application is ended, the container will be stopped also,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi but if needed the <command>lxc-stop</command> command can
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi be used to kill the still running application.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナが作成されると,アプリケーションもしくはシステムとして実行することができます.このために使用するのが <command>lxc-execute</command> と <command>lxc-start</command> コマンドです.アプリケーションが開始する前にコンテナが作成されなかった場合,コンテナはコマンドへ与えるパラメータを取得するのに設定ファイルを使うでしょう.もし,このようなパラメータもない場合は,デフォルトで指定されている通りに隔離されます.アプリケーションが終了した場合,コンテナも停止しますが,実行中のアプリケーションを停止するには <command>lxc-stop</command> を使用する必要があります.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Running an application inside a container is not exactly the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi same thing as running a system. For this reason, there are two
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi different commands to run an application into a container:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-execute -n foo [-f config] /bin/bash
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-start -n foo [-f config] [/bin/bash]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナ内のアプリケーションの実行は,正確にはシステムとして実行するのとは異なります.そのような理由で,コンテナ内でアプリケーションを実行するためのコマンドには,2 種類の違ったものがあります.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-execute -n foo [-f config] /bin/bash
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-start -n foo [-f config] [/bin/bash]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-execute</command> command will run the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi specified command into the container via an intermediate
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi process, <command>lxc-init</command>.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi This lxc-init after launching the specified command,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will wait for its end and all other reparented processes.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi (that allows to support daemons in the container).
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi In other words, in the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container, <command>lxc-init</command> has the pid 1 and the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi first process of the application has the pid 2.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-execute</command> コマンドは,<command>lxc-init</command> プロセス経由で,コンテナ内で特定のコマンドを実行します.lxc-init はコマンドを実行した後,実行したコマンドと,(コンテナ内のデーモンが実行することを許可した) 生成された全てのプロセスが終了するのを待ちます.言いかえると,コンテナ内では <command>lxc-init</command> は pid 1 を持ち,アプリケーションの最初のプロセスは pid 2 をもちます.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-start</command> command will run directly the specified
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi command into the container.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The pid of the first process is 1. If no command is
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi specified <command>lxc-start</command> will
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi run <filename>/sbin/init</filename>.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-start</command> コマンドは,コンテナ内の特定のコマンドを直接実行します.最初のプロセスの pid が 1 となります.もし,実行するコマンドが指定されない場合は,<command>lxc-start</command> は <filename>/sbin/init</filename> を実行します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi To summarize, <command>lxc-execute</command> is for running
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi an application and <command>lxc-start</command> is better suited for
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi running a system.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi まとめると,<command>lxc-execute</command> はアプリケーションを実行するためのコマンドであり,<command>lxc-start</command> はシステムを実行するのにより適したコマンドです.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi If the application is no longer responding, is inaccessible or is
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi not able to finish by itself, a
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi wild <command>lxc-stop</command> command will kill all the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi processes in the container without pity.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-stop -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi もしアプリケーションの反応がなくなった場合や,アクセスできなくなった場合,自分で終了することができない場合は,荒っぽいですが,<command>lxc-stop</command> コマンドがコンテナ内の全てのプロセスを容赦なく停止させてくれるでしょう.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Connect to an available tty -->利用可能な tty への接続</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi If the container is configured with the ttys, it is possible
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi to access it through them. It is up to the container to
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi provide a set of available tty to be used by the following
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi command. When the tty is lost, it is possible to reconnect it
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi without login again.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-console -n foo -t 3
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナが tty を持つように設定されているならば,tty を通してコンテナにアクセスすることができます.それは以下のコマンドが使う tty がコンテナで利用可能に設定されているか次第です.tty が失われたとき,再度のログインなしでその tty に再接続することが可能です.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-console -n foo -t 3
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Freeze / Unfreeze container -->コンテナの凍結と解凍</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Sometime, it is useful to stop all the processes belonging to
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi a container, eg. for job scheduling. The commands:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-freeze -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will put all the processes in an uninteruptible state and
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-unfreeze -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will resume them.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ジョブスケジューリングなどで,コンテナに属する全てのプロセスを停止する事が役に立つときがあります.コマンド
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-freeze -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi は,全てのプロセスを中断不可能な状態に置きます.そして,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-unfreeze -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi その全てのプロセスを再開します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi This feature is enabled if the cgroup freezer is enabled in the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi kernel.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi この機能は,カーネルで cgroup freezer 機能が有効になっている場合に使用可能です.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Getting information about container -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナに関する情報の取得</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi When there are a lot of containers, it is hard to follow
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi what has been created or destroyed, what is running or what are
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the pids running into a specific container. For this reason, the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi following commands may be usefull:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ls
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ps &#045;&#045;name foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-info -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 多数のコンテナが存在する場合,それらが実行されたり破壊されたりすること,何が実行されていて,特定のコンテナ内で実行されている pid が何であるかをフォローするのは大変です.このような時には,以下のようなコマンドが役に立つかもしれません.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ls
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ps --name foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-info -n foo
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-ls</command> lists the containers of the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi system. The command is a script built on top
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi of <command>ls</command>, so it accepts the options of the ls
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi commands, eg:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ls -C1
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will display the containers list in one column or:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ls -l
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will display the containers list and their permissions.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-ls</command> は,システムのコンテナを一覧します.このコマンドは <command>ls</command> をうまく利用して作られているスクリプトです.なので,ls コマンドのオプションを受け付けます.例えば
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ls -C1
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi はコンテナのリストを 1 列で表示しますし,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ls -l
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi はコンテナのリストとパーミッションを表示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-ps</command> will display the pids for a specific
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container. Like <command>lxc-ls</command>, <command>lxc-ps</command>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi is built on top of <command>ps</command> and accepts the same
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi options, eg:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>lxc-ps &#045;&#045;name foo &#045;&#045;forest</programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will display the processes hierarchy for the processes
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi belonging the 'foo' container.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>lxc-ps &#045;&#045;lxc</programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will display all the containers and their processes.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-ps</command> は特定のコンテナに対する pid を表示します.<command>lxc-ls</command> のように,<command>lxc-ps</command> は <command>ps</command> コマンドをうまく利用して作られており,同じオプションを利用可能です.例えば,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>lxc-ps --name foo --forest</programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi は 'foo' という名前のコンテナに属するプロセスを階層構造で表示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>lxc-ps --lxc</programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi は全てのコンテナとそのコンテナに属するプロセスを表示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-info</command> gives informations for a specific
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container, at present time, only the state of the container is
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi displayed.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-info</command> は,指定したコンテナに対する情報を与えます.現時点では,コンテナの状態だけを表示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi Here is an example on how the combination of these commands
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi allow to list all the containers and retrieve their state.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for i in $(lxc-ls -1); do
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-info -n $i
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi done
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi And displaying all the pids of all the containers:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for i in $(lxc-ls -1); do
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ps &#045;&#045;name $i &#045;&#045;forest
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi done
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ここで,以上のコマンドを組み合わせて,どのようにしたら全てのコンテナのリストと,それぞれの状態が得られるかの例を示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for i in $(lxc-ls -1); do
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-info -n $i
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi done
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi そして,全てのコンテナの全ての pid を表示させる例です.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for i in $(lxc-ls -1); do
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-ps --name $i --forest
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi done
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-netstat</command> display network information for
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi a specific container. This command is built on top of
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the <command>netstat</command> command and will accept its
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi options
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-netstat</command> は,指定したコンテナのネットワークの情報を表示します.このコマンドは <command>netstat</command> をうまく利用して作られており,<command>netstat</command> のオプションを受け付けます.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The following command will display the socket informations for
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the container 'foo'.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-netstat -n foo -tano
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 以下のコマンドは,'foo' という名前のコンテナのソケット情報を表示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-netstat -n foo -tano
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Monitoring container -->コンテナのモニタリング</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi It is sometime useful to track the states of a container,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi for example to monitor it or just to wait for a specific
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi state in a script.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 時々,コンテナの状態を追跡することが出来ると便利な事があります.例えば,状態をモニタリングしたり,スクリプト内で特定の状態を待ったりするような場合です.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-monitor</command> command will monitor one or
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi several containers. The parameter of this command accept a
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi regular expression for example:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-monitor -n "foo|bar"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will monitor the states of containers named 'foo' and 'bar', and:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-monitor -n ".*"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will monitor all the containers.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-monitor</command> コマンドは,一つもしくはいくつかのコンテナをモニタリングします.このコマンドのパラメータは,正規表現を受け付けます.例えば
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-monitor -n "foo|bar"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi は 'foo' と 'bar' という名前のコンテナの状態をモニタリングします.そして,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-monitor -n ".*"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi は全てのコンテナの状態をモニタリングします.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi For a container 'foo' starting, doing some work and exiting,
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the output will be in the form:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 'foo' changed state to [STARTING]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 'foo' changed state to [RUNNING]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 'foo' changed state to [STOPPING]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 'foo' changed state to [STOPPED]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナ 'foo' が開始され,いくつか処理を行い,終了した場合,出力は以下のようになります.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 'foo' changed state to [STARTING]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 'foo' changed state to [RUNNING]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 'foo' changed state to [STOPPING]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi 'foo' changed state to [STOPPED]
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-wait</command> command will wait for a specific
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi state change and exit. This is useful for scripting to
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi synchronize the launch of a container or the end. The
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi parameter is an ORed combination of different states. The
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi following example shows how to wait for a container if he went
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi to the background.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<![CDATA[
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # launch lxc-wait in background
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-wait -n foo -s STOPPED &
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi LXC_WAIT_PID=$!
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # this command goes in background
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-execute -n foo mydaemon &
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # block until the lxc-wait exits
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # and lxc-wait exits when the container
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # is STOPPED
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi wait $LXC_WAIT_PID
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi echo "'foo' is finished"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi]]>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-wait</command> コマンドは指定した状態を待って,終了します.これは,コンテナの開始や終了に同期したいスクリプトで役に立ちます.パラメータは,異なった状態の論理和 (OR) を指定します.以下の例は,バックグラウンドで実行されたコンテナをどのようにして待つかを示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<![CDATA[
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # launch lxc-wait in background
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-wait -n foo -s STOPPED &
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi LXC_WAIT_PID=$!
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # this command goes in background
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-execute -n foo mydaemon &
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # block until the lxc-wait exits
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # and lxc-wait exits when the container
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi # is STOPPED
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi wait $LXC_WAIT_PID
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi echo "'foo' is finished"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi]]>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Setting the control group for container -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナの control group の設定
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The container is tied with the control groups, when a
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container is started a control group is created and associated
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi with it. The control group properties can be read and modified
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi when the container is running by using the lxc-cgroup command.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi コンテナは control group と結合しています.コンテナが開始すると control group が生成され,それと結びつけられます.control group のプロパティは,lxc-cgroup コマンドを使って,コンテナが実行中に読み取ったり,変更したりすることができます.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-cgroup</command> command is used to set or get a
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi control group subsystem which is associated with a
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi container. The subsystem name is handled by the user, the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi command won't do any syntax checking on the subsystem name, if
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the subsystem name does not exists, the command will fail.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc-cgroup</command> コマンドは,コンテナと結びつけられている control group サブシステムを設定したり,取得したりするのに使います.サブシステム名の指定はユーザが行ない,このコマンドはサブシステム名の文法チェックは一切行ないません.もし,指定したサブシステム名が存在しない場合は,コマンドの実行は失敗します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-cgroup -n foo cpuset.cpus
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will display the content of this subsystem.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-cgroup -n foo cpu.shares 512
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi will set the subsystem to the specified value.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-cgroup -n foo cpuset.cpus
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi は,このサブシステムの内容を表示します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi lxc-cgroup -n foo cpu.shares 512
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </programlisting>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi は,このサブシステムに指定した値を設定します.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect2>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Bugs -->バグ</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <!--
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi The <command>lxc</command> is still in development, so the
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi command syntax and the API can change. The version 1.0.0 will be
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi the frozen version.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi -->
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <command>lxc</command> はまだ開発中です.従って,コマンドの文法や API は変更される可能性があります.バージョン 1.0.0 がそれらを凍結するバージョンとなるでしょう.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi &seealso;
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <title><!-- Author -->作者</title>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi <para>Daniel Lezcano <email>daniel.lezcano@free.fr</email></para>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi </refsect1>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi</refentry>
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi<!-- Keep this comment at the end of the file Local variables: mode:
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-always-quote-attributes:t sgml-indent-step:2 sgml-indent-data:t
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-parent-document:nil sgml-default-dtd-file:nil
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-exposed-tags:nil sgml-local-catalogs:nil
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumisgml-local-ecat-files:nil End: -->