Связь Docker между контейнерами

При внимательном изучении /var/lib/dpkg/info/ttf-mscorefonts-installer. postinst кажется, что пакет является заглушкой для получения шрифтов из внешних источников с помощью wget:

167                     if ! wget --continue --tries=1 --connect-timeout=60 --read-timeout=300 $QUIET_ARG --directory-prefix . --no-directories --no-background --progress=dot:default $URLROOT$ff ; then

Что касается bbb-record-core, посмотрев на /var/lib/dpkg/info/bbb-record-core можно подтвердить, что он пытается установить некоторые рубиновые гемы непосредственно из интернета, а не из пакетов Debian:

34                 cd /usr/local/bigbluebutton/core
35 
36                 GEMS="builder bundler"
37                 for gem in $GEMS; do
38                         if ! gem list $gem | grep -q $gem; then
39                                 gem install $gem
40                         fi
41                 done

Итак, можно сказать, что wget и gem install нуждаются в получении дополнительных данных извне.

Что касается wget, HTTP-прокси можно добавить в /etc/wgetrc следующим образом:

https_proxy = http://proxy.internal:3128/
http_proxy = http://proxy.internal:3128/

Что касается gem install, создайте файл /etc/gemrc и добавьте туда:

http_proxy: http://proxy.internal:3128

На самом деле в конце дня один из гемов был уже устаревшим, а пакет bbb-record-core так и не установился с ошибкой:

ERROR:  While executing gem ... (Gem::InstallError)
gem "streamio-ffmpeg" is not installed

Поэтому пришлось также отредактировать /usr/local/bigbluebutton/core/Gemfile и изменить строку:

gem "streamio-ffmpeg", '2.0.0'

на:

gem "streamio-ffmpeg", '2.1.0'

После этого удалось продолжить процесс, причем и wget, и gem install получили свои файлы, используя прокси.

2
29.07.2016, 16:48
1 ответ

Ну, это был вопрос новичка в Linux / Docker / PuTTy, поэтому мне потребовалось время, чтобы понять, где был настоящий IP-адрес этого контейнера, на самом деле Оказалось, что мне нужно было только еще немного взглянуть на результат docker inspect .

Ярлык будет выглядеть так:

docker inspect --format '{{ .NetworkSettings.IPAddress }}' mysql1

Он дает IP-адрес этого контейнера, доступного для других. Он также был виден в docker inspect.

После этого для настройки gogs мне нужно было только подключиться и взаимодействовать с контейнером mysql с помощью:

docker exec -i mysql1 bash

Затем отдать SQL-приказы, необходимые для создания базы данных.

mysql -e 'CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;' -p 'passwordofdb'

Теперь все в порядке, gogs настроен, и два контейнер общаются.

0
27.01.2020, 22:46

Теги

Похожие вопросы