Docker на Orange PI PC

Определение Докера в Википедии звучит так:
программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.

Установка Docker
На ядре Legacy 3.4.113 не работает, пришлось ставить Ubuntu Xenial на ядре Mainline 4.9.4

root@orangepipc:~# uname -a
Linux orangepipc 4.9.4-sun8i #5 SMP Tue Jan 24 02:59:34 CET 2017 armv7l armv7l armv7l GNU/Linux

Чтобы получить наиболее актуальную версию программы, нужно обратиться к официальному репозитарию Docker. В этом посте показано, как загрузить и установить пакет из официального репозитория Docker.

Обновите индекс пакетов:

sudo apt-get update

Теперь можно загрузить и установить пакет Docker. Добавьте в систему GPG-ключ репозитория Docker:

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Добавьте этот репозиторий в APT:

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update

Следующая команда позволяет переключиться из репозитория Ubuntu 16.04 в репозиторий Docker:

apt-cache policy docker-engine

Команда должна вернуть:

docker-engine:
  Installed: (none)
  Candidate: 1.13.0-0~ubuntu-xenial
  Version table:
     1.13.0-0~ubuntu-xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main armhf Packages

Обратите внимание: пакет docker-engine пока не установлен. Версия пакета может отличаться.

Чтобы установить Docker, введите:

sudo apt-get install -y docker-engine

После этого программа Docker будет установлена; также это запустит демона и настроит автозапуск процесса. Чтобы убедиться в том, что программа работает, запросите её состояние:

sudo systemctl status docker

Команда должна вернуть:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-01-24 22:20:47 UTC; 23s ago
     Docs: https://docs.docker.com
 Main PID: 3657 (dockerd)

Теперь в системе работает сервис Docker (или демон). Также у вас есть доступ к утилите командной строки docker (это клиент Docker)

root@orangepipc:~# docker version
Client:
 Version:      1.13.0
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Tue Jan 17 10:24:46 2017
 OS/Arch:      linux/arm

Server:
 Version:      1.13.0
 API version:  1.25 (minimum version 1.12)
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Tue Jan 17 10:24:46 2017
 OS/Arch:      linux/arm
 Experimental: false

Start the default web server

docker run -d -p 8080:80 hypriot/rpi-busybox-httpd

http://Ваш_IP:8080/

.

Share
Send
Pin
2017   armbian   Docker   OrangePI PC
12 comments
Сергей

Добрый день! С наступающим Новым годом! У меня вопрос к Вам. Вы не пробовали дистрибутив rezin.io? Как он устанавливается?

ua3nbw

День добрый!

ResinOS есть для Raspberry Pi, BeagleBone и Odroid-C1, для OrangePi мне дистрибутивы не попадались.

Сергей

Добрый день! Вы пишите, что устанавливали версию Ubuntu Xenial на ядре Mainline 4.9.4. На сайте Armbian стабильные версии только на ядре Legacy 3.4.113. На Mainline только ночные (не стабильные). Где Вы свою версию брали?

Сергей

Скиньте ссылку на Ubuntu Xenial на ядре Mainline 4.9.4. На оф сайте Армбиана больше не доступен этот дистрибутив, а доккер нужен.

ua3nbw

Ставил на ночную сборку, доступную на то время. Можно поставить на Debian_jessie_next 4.13.x
Armbian_5.35_Orangepipc_Debian_jessie_next_4.13.16.7z

Установка Docker

apt-get update

wget https://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_17.05.0~ce-0~debian-jessie_armhf.deb

dpkg -i docker-engine_17.05.0~ce-0~debian-jessie_armhf.deb

sudo service docker start
Сергей

Спасибо! Попробую после Нового года! С наступающим Вас еще раз!

Сергей

На mainline не работает звук на sip. И вообще настройки Alsa там ужасно кривые. На 3.4.112 работает звук на sip телефоне, а на Mainline нет. Очень печально. Использую этот СИП
sudo apt-get install linphone-nogtk
Может попробуете и что-нибудь подскажите. Сам уже все перепробовал. Нужен docker и нужен этот sip.

ua3nbw

звук на sip только не работает? На 4.14.x так включаю:

amixer -c 0 -q set "Line Out"  100%+ unmute
amixer -c 0 -q set "DAC"  100%+ unmute
Сергей

Да, на sip. Wav файлы в динамик проигрываю. И звук в динамике при вызове по sip слышен. А голоса нет ни в динамике, ни обратно в микрофоне. На ядре 3.4.112 работает все из коробки. В audiocodec ALSA включил микрофон и динамик, а здесь тишина. Вроде кодеки все в наличие.

Сергей

Здравствуйте. Не подскажите, как отключить все модули на ядре mainline, связанные с NAT?

ua3nbw

Здравствуйте.
основные команды для управления модулями.
◾lsmod — посмотреть загруженные модули
◾modinfo — информация о модуле
◾insmod — загрузить модуль
◾rmmod — удалить модуль

Сергей

Здравствуйте. Извините за назойливость. Я так понял, что Вы сами компилировали ядро и настраивали модули.
При запуске Linphone с отладкой проявляется следующая ситуация.
Звонок проходит. Даю команду ответить. Передается начальный кадр видео. А затем идет сплошная ошибка

ortp-message-CALL_ACK
ortp-warning-Getting reference signal but no echo to synchronize on.
ortp-warning-Getting reference signal but no echo to synchronize on.
ortp-warning-Getting reference signal but no echo to synchronize on.
ortp-warning-Getting reference signal but no echo to synchronize on.

Как нашел в описании к linphone она возникает из этого куска текста программы

static void webrtc_aec_process(MSFilter *f)
{
WebRTCAECState *s = (WebRTCAECState *) f->data;
int nbytes = s->framesize * 2;
mblk_t *refm;
uint8_t *ref, *echo;

if (s->bypass_mode) {
while = ms_queue_get(f->inputs[0] != NULL) {
ms_queue_put(f->outputs[0], refm);
}
while = ms_queue_get(f->inputs[1] != NULL) {
ms_queue_put(f->outputs[1], refm);
}
return;
}

if (f->inputs[0] != NULL) {
if (s->echostarted) {
while = ms_queue_get(f->inputs[0] != NULL) {
refm=ms_audio_flow_controller_process(&s->afc,refm);
if (refm){
mblk_t *cp=dupmsg(refm);
ms_bufferizer_put(&s->delayed_ref,cp);
ms_bufferizer_put(&s->ref,refm);
}
}
} else {
ms_warning(“Getting reference signal but no echo to synchronize on.”);
ms_queue_flush(f->inputs[0]);
}
}

Из этого делаю вывод, что блокируется процесс передачи данных на устройство.
if (f->inputs[0] != NULL) входной сигнал = 0

Подскажите, что может блокировать передачу потока? Может какой-то модуль отключить или подключить, чтобы этого не происходило?

Сергей

Пробовал и Debian -4.13, и Ubuntu -4.11(armbian) на всех mainline ядрах одно и тоже.
На 3.4.112-113 этого не происходит.

ua3nbw

Если передается начальный кадр видео, а затем идет сплошная ошибка, возможно это связано с отсутствием на mainline ядрах видео драйвера Mali X11.

Сергей

Но без веб-камеры тоже идет эта же ошибка и голос не передается. В статистике после окончания вызова в отосланных пакетах стоит 0. Что-то блокирует отсылку пакетов по UDP. А вот что – не понятно. Может у Вас имеются какие предположения. Видео мне вообще не нужно. Мне нужно, чтобы был голосовой обмен, которого нет.

Сергей

Здравствуйте! Еще 1 вопрос. Не работает uart2. Через overlay подключил. А cat /dev/ttyS2 всегда пустой. На 3.4.113 ядре проверяю – все выдает, а на mainline – нет. Может подскажите что-нибудь?

ua3nbw

по uart2 пока не подключал, но вроде должно всё работать:

root@orangepipc:~# dmesg | grep ttyS2
[    3.673786] 1c28800.serial: ttyS2 at MMIO 0x1c28800 (irq = 43, base_baud = 1500000) is a U6_16550A

mainline — только для тестов, нет стабильной версии.

про linphone — устаревшая версия для arm, возможно поэтому на mainline и не работает.

Your comment
won’t be published

HTML will not work

Ctrl + Enter
Popular