Для запуска WireGuard в кастомном контейнере на основе Ubuntu необходимо выполнить следующие шаги:
1. Установите WireGuard в контейнере. Для этого выполните команду:
```
$ apt-get update
$ apt-get install wireguard
```
2. Создайте конфигурационный файл WireGuard для вашей сети. Например, вы можете создать файл `/etc/wireguard/wg0.conf` и добавить в него настройки вашей сети:
```
[Interface]
Address = 10.0.0.1/24
PrivateKey = <private_key>
ListenPort = 51820
[Peer]
PublicKey = <peer_public_key>
AllowedIPs = 10.0.0.2/32
```
Замените `<private_key>` на ваш приватный ключ, `<peer_public_key>` на открытый ключ вашего партнера и `10.0.0.2` на адрес вашего пира.
3. Запустите службу WireGuard после старта контейнера. Для этого создайте скрипт запуска WireGuard, например, `/usr/local/bin/start-wireguard.sh`, который будет содержать следующую команду запуска WireGuard:
```
#!/bin/bash
wg-quick up /etc/wireguard/wg0.conf
```
Убедитесь, что скрипт имеет права на выполнение:
```
$ chmod +x /usr/local/bin/start-wireguard.sh
```
4. Добавьте этот скрипт в файл `/etc/rc.local`, чтобы он запускался при каждом старте контейнера:
```
$ echo "/usr/local/bin/start-wireguard.sh" >> /etc/rc.local
```
Убедитесь, что файл `/etc/rc.local` также имеет права на выполнение:
```
$ chmod +x /etc/rc.local
```
5. Перезапустите контейнер, чтобы изменения вступили в силу.
Теперь WireGuard будет автоматически запускаться при старте контейнера, что позволит избежать ошибок при его использовании.