Новичок, пытающийся использовать контейнер lxc 16.04. Он работает, но я не могу указать в нем команду или вообще войти в нее (здесь пробовал «время простоя», но любая команда такая же). Также, похоже, у него нет IP-адреса, который я «думаю» (ничего не зная!), Который должен иметь. Любая помощь очень ценится ...
$
$ lxc-info --name myBusyBox
Name: myBusyBox
State: RUNNING
PID: 19826
Memory use: 248.00 KiB
KMem use: 0 bytes
Link: veth4OF01M
TX bytes: 0 bytes
RX bytes: 0 bytes
Total bytes: 0 bytes
$
$
$ lxc exec myBusyBox -- uptime
error: not found
$
$ lxc exec myBusyBox -- sudo --login --user fred
error: not found
$ lxc exec myBusyBox -- sudo --login --user root
error: not found
$
$
$ lxc exec --debug myBusyBox -- uptime
DBUG[04-29|19:03:33] Connecting to a local LXD over a Unix socket
DBUG[04-29|19:03:33] Sending request to LXD etag= method=GET url=http://unix.socket/1.0
DBUG[04-29|19:03:33] Got response struct from LXD
DBUG[04-29|19:03:33]
{
"config": {},
"api_extensions": [
"id_map",
"id_map_base",
"resource_limits"
],
"api_status": "stable",
"api_version": "1.0",
"auth": "trusted",
"auth_methods": null,
"public": false,
"environment": {
"addresses": [],
"architectures": [
"x86_64",
"i686"
],
"certificate": "-----BEGIN CERTIFICATE-----\nMIIFgzCCbla..bla..blaEYn5/TQjrObuGJCQ=\n-----END CERTIFICATE-----\n",
"certificate_fingerprint": "08a74b..bla..bla..7d75a",
"driver": "lxc",
"driver_version": "2.0.8",
"kernel": "Linux",
"kernel_architecture": "x86_64",
"kernel_version": "4.4.0-121-generic",
"server": "lxd",
"server_pid": 13686,
"server_version": "2.0.11",
"storage": "dir",
"storage_version": ""
}
}
DBUG[04-29|19:03:33] Connected to the websocket
DBUG[04-29|19:03:33] Sending request to LXD
etag= method=POST url=http://unix.socket/1.0/containers/myBusyBox/exec
DBUG[04-29|19:03:33]
{
"command": [
"uptime"
],
"wait-for-websocket": true,
"interactive": true,
"environment": {
"HOME": "/root",
"TERM": "xterm",
"USER": "root"
},
"width": 248,
"height": 76,
"record-output": false
}
error: not found
$
$ cat .config/lxc/default.conf
lxc.id_map = u 0 362144 65536
lxc.id_map = g 0 362144 65536
lxc.network.type = veth
lxc.network.link = lxcbr0
$
$ ifconfig
eth0 Link encap:Ethernet HWaddr dc:4a:3e:3d:38:fa
inet addr:192.168.69.28 Bcast:192.168.69.255 Mask:255.255.255.0
inet6 addr: fe80::b776:cc17:bfde:7c50/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1947862 errors:0 dropped:0 overruns:0 frame:0
TX packets:1602785 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:904087759 (904.0 MB) TX bytes:224598229 (224.5 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:24177 errors:0 dropped:0 overruns:0 frame:0
TX packets:24177 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:2465959 (2.4 MB) TX bytes:2465959 (2.4 MB)
lxcbr0 Link encap:Ethernet HWaddr 00:16:3e:00:00:00
inet addr:10.0.3.1 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lxdbr0 Link encap:Ethernet HWaddr 6a:dc:61:40:be:3c
inet addr:10.114.49.1 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::68dc:61ff:fe40:be3c/64 Scope:Link
inet6 addr: fdbc:db09:9173:641c::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1359 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:314674 (314.6 KB)
veth4OF01M Link encap:Ethernet HWaddr fe:7f:6e:24:b3:db
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
$
$ lxc list
+------+-------+------+------+------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+-------+------+------+------+-----------+
$
$
Существует важное различие между LXC и LXD.
LXC - это оригинальный, более старый (но все еще поддерживаемый) способ создания и управления контейнерами. Инструментами командной строки для LXC являются команды типа lxc-create и lxc-info. То есть, это только команды, начинающиеся с lxc-.
LXD - новый способ создания и управления контейнерами, и это намного проще и удобнее, чем LXC. С помощью LXD вы используете команду lxc для всех задач управления. Например, lxc launch ubuntu:18.04 mycontainer создаст новый контейнер под названием mycontainer с Ubuntu 18.04. lxc info mycontainer покажет информацию о контейнере. Кроме того, LXD предварительно установлен на Ubuntu. LXC не является.
В команде LXD используется команда lxc.
Вы можете узнать больше о различиях на https://discuss.linuxcontainers.org/t/comparing-lxd-vs-lxc/24
Чтобы вернуться к вашему вопросу. Вы использовали команду LXD lxc для контейнера, созданного с помощью LXC.
Существует важное различие между LXC и LXD.
LXC - это оригинальный, более старый (но все еще поддерживаемый) способ создания и управления контейнерами. Инструментами командной строки для LXC являются команды типа lxc-create и lxc-info. То есть, это только команды, начинающиеся с lxc-.
LXD - новый способ создания и управления контейнерами, и это намного проще и удобнее, чем LXC. С помощью LXD вы используете команду lxc для всех задач управления. Например, lxc launch ubuntu:18.04 mycontainer создаст новый контейнер под названием mycontainer с Ubuntu 18.04. lxc info mycontainer покажет информацию о контейнере. Кроме того, LXD предварительно установлен на Ubuntu. LXC не является.
В команде LXD используется команда lxc.
Вы можете узнать больше о различиях на https://discuss.linuxcontainers.org/t/comparing-lxd-vs-lxc/24
Чтобы вернуться к вашему вопросу. Вы использовали команду LXD lxc для контейнера, созданного с помощью LXC.
Существует важное различие между LXC и LXD.
LXC - это оригинальный, более старый (но все еще поддерживаемый) способ создания и управления контейнерами. Инструментами командной строки для LXC являются команды типа lxc-create и lxc-info. То есть, это только команды, начинающиеся с lxc-.
LXD - новый способ создания и управления контейнерами, и это намного проще и удобнее, чем LXC. С помощью LXD вы используете команду lxc для всех задач управления. Например, lxc launch ubuntu:18.04 mycontainer создаст новый контейнер под названием mycontainer с Ubuntu 18.04. lxc info mycontainer покажет информацию о контейнере. Кроме того, LXD предварительно установлен на Ubuntu. LXC не является.
В команде LXD используется команда lxc.
Вы можете узнать больше о различиях на https://discuss.linuxcontainers.org/t/comparing-lxd-vs-lxc/24
Чтобы вернуться к вашему вопросу. Вы использовали команду LXD lxc для контейнера, созданного с помощью LXC.