信頼できる14.04コンテナでは、すべての設定が14.04で要求されているにもかかわらず、自動起動に失敗します。それらはすべてSTOPPEDと表示されます
2つのLXCコンテナーを正しく構成しました。
calypso
encelado
走れば完璧に走りますSudo lxc-autostart
それからSudo lxc-ls --fancy
の結果:
ubuntu@saturn:/etc/init$ Sudo lxc-ls --fancy
NAME STATE IPV4 IPV6 AUTOSTART
calypso RUNNING 192.168.1.161 - YES
encelado RUNNING 192.168.1.162 - YES
問題は、起動時にそれらを実行しようとしていることです。
私が持っている場所:/var/lib/lxc/calypso/config
:
# Template used to create this container: /usr/share/lxc/templates/lxc-download
# Parameters passed to the template:
# For additional config options, please look at lxc.conf(5)
# Distribution configuration
lxc.include = /usr/share/lxc/config/ubuntu.common.conf
lxc.Arch = x86_64
# Container specific configuration
lxc.rootfs = /var/lib/lxc/calypso/rootfs
lxc.utsname = calypso
# Network configuration
lxc.network.type = veth
lxc.network.flags = up
#lxc.network.link = lxcbr0
lxc.network.link = br0
lxc.network.hwaddr = 00:16:3e:64:0b:6e
# Assign static IP Address
lxc.network.ipv4 = 192.168.1.161/24
lxc.network.ipv4.gateway = 192.168.1.1
# Autostart
lxc.start.auto = 1
lxc.start.delay = 5
lxc.start.order = 100
LXC_AUTO="false"
内に必要な/etc/default/lxc
があります:
LXC_AUTO="false"
USE_LXC_BRIDGE="false" # overridden in lxc-net
[ -f /etc/default/lxc-net ] && . /etc/default/lxc-net
LXC_SHUTDOWN_TIMEOUT=120
コンテナーがブート時に開始しない理由についてのアイデアはありますか?再起動時には、常にSTOPPED状態になります。
ubuntu@saturn:~$ Sudo lxc-ls --fancy
NAME STATE IPV4 IPV6 AUTOSTART
calypso STOPPED - - YES
encelado STOPPED - - YES
その後、Sudo lxc-autostart
を使用して手動で開始できます
あなたは言う:
/ etc/default/lxc内で必要に応じてLXC_AUTO = "false"があります
具体的には、コンテナを開始しないようにupstartジョブに指示します。設定したりtrueに設定したりしないでください。起動時にコンテナが起動します。
Manweが投稿したもの(正しいとわかったもの)に加えて、すべてのlxcコマンドで-Pオプションを使用して/var/lib/lxc
とは異なるカスタムlxcパスを使用しているため、追加の作業が必要でした。 (振り返ってみると、これを再度行った場合、おそらくデフォルトの場所に固執するでしょうが、それはここにもそこにもありません。)
/etc/default/lxc
を編集して、最後に追加します。
OPTIONS="-P <lxcpath>"
/etc/init/lxc-instance.conf
を編集して追加
[ -f /etc/default/lxc ] && . /etc/default/lxc
pre-start
とscript
を開始し、$OPTIONS
とlxc-wait
の後にlxc-start
を追加します。
そのようです:
pre-start script
[ -f /etc/default/lxc ] && . /etc/default/lxc
lxc-wait $OPTIONS -s RUNNING -n $NAME -t 0 && { stop; exit 0; } || true
end script
script
[ -f /etc/default/lxc ] && . /etc/default/lxc
exec lxc-start $OPTIONS -n $NAME
end script
次に、以下でテストできます。
Sudo service lxc restart
Sudo lxc-ls -P <lxcpath> --fancy
/etc/default/lxc
でLXC_AUTOが真であることを確認します
LXC_AUTO="true"
グループパラメータを設定に追加します
lxc.group = onboot
(またはセットアップでBOOTGROUPS=
を/etc/default/lxc
に追加します)
buntu lxc の現在のUbuntuガイドでは、LXC_AUTO
をfalse
にすべきだと誤って述べていると思います。 /etc/default/lxc
symlink要件も無視します。