It looks like something else is messed up, and needs to be fixed. Specifically, the Arch container does not make an effort to obtain a DHCP lease, as if it has not been configured to do that automatically.
Here we go,
$ lxc launch images:archlinux arch
Creating arch
Starting arch
$ lxc list ^arch$
+------+---------+------+-----------------------------------------------+
| NAME | STATE | IPV4 | IPV6 |
+------+---------+------+-----------------------------------------------+
| arch | RUNNING | | fd42:cba6:557e:1a5f:216:3eff:fed5:5b9b (eth0) |
+------+---------+------+-----------------------------------------------+
The container gets an IPv6 address, but does not get an IPv4 address.
Before entering the Arch container, would it take an IP address from the router instead?
$ lxc profile assign arch default,bridgeprofile
Profiles default,bridgeprofile applied to arch
$ lxc start arch
$ lxc list ^arch$
+------+---------+------+------+
| NAME | STATE | IPV4 | IPV6 |
+------+---------+------+------+
| arch | RUNNING | | |
+------+---------+------+------+
Let’s go back to the default profile and have a closer look.
$ lxc stop arch
$ lxc profile assign arch default
Profiles default applied to arch
$ lxc start arch
$ lxc list ^arch$
+------+---------+------+-----------------------------------------------+
| NAME | STATE | IPV4 | IPV6 |
+------+---------+------+-----------------------------------------------+
| arch | RUNNING | | fd42:cba6:557e:1a5f:216:3eff:fed5:5b9b (eth0) |
+------+---------+------+-----------------------------------------------+
Let’s do some reading, https://wiki.archlinux.org/index.php/Network_configuration#Network_managers
There are three network managers in the Archiso, and they are also present in the LXD container image for ArchLinux.
Of those three, two can automatically set up the wired interface. These are dhcpdc and netctl.
Let’s try with dhcpdc as follows. It worked, and it got a lease!
dhcpcd eth0
The old IPv6-only lease is still there, which means that another network manager is in play (systemd).
In any case, for now, you can use
lxc exec myarch -- dhcpcd eth0
to get a proper IPv4 address.