2015-10-11 3 views
1

Я только что начал с контейнеров IBM. Теперь, я хочу, чтобы docker exec в контейнер, но я обнаружил, что это не поддерживается (link).Как выполнить докеры exec в контейнерах IBM bluemix

В принципе, я поместил свой исходный код в контейнер и теперь хочу его установить и обновить некоторые конфигурации, например: обновить IP-адрес.

Я могу создать изображение из установленного контейнера докера и нажать его на bluemix, но все же мне нужно изменить некоторые конфигурации.

Пожалуйста, предложите мне альтернативные способы достижения этого.

+0

Уважаемый downvoter, я был бы признателен, если вам может дать некоторые комментарии. – user3275095

ответ

2

Вы можете использовать ssh в контейнере IBM и обновлять файлы по мере необходимости. Чтобы передать ssh в IBM Container, вы должны передать открытый ключ ssh с помощью опции --ssh. Выполните следующие действия, чтобы создать/частную пару SSH-ключ и запустить IBM контейнер:

1) Создать частную/открытого ключ пару

# ssh-keygen -t rsa -f cloud.key 

Это создадут 2 файл: cloud.key и cloud.key.pub

2) Запустить контейнер IBM проходящего открытый ключ, образец ниже работает ibmnode образ по умолчанию (сделайте cat cloud.key.pub и вставить в качестве аргумента SSH):

# ice run --name my-container --memory 512 --publish 8000 --ssh "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrpMSm1U0YCvCfFZDOSqKDNZT0fd9TOWQh/jZPFWJu3BTrZuxDM0Mc5Cv6Lw0yYC5ZdqFsn4Rp4ovCkEY3JsnrE6NSsyrtxMvCGm1FDWYMJBnB4tDoWFmAULYKvdospozjk9Abvl2Hw3xu36j2c3W/x4iB/Xez0xdqNi8YN23gg8n45ZDCsDVZ4SE2ks8u81CoDcDhA3XmJF5Fpfwfnxi7OI9LNTkNJ26CnQb0/k80gYc1qUcGjgPasbWHPuPY4YJDAAr5U6faZUX8IqepLmk/icIQw+SFBQa4OS5+n4jJ3YpkM23RZdylY61t9ltU8GJI/d5tRsV7ZYeX+gE/RO53 [email protected]" registry.ng.bluemix.net/ibmnode:latest 

3) Привязать публичный IP-адрес для IBM контейнера:

# ice ip bind <ip-address> my-container 

4) Запустить SSH команду для входа в IBM Container прохождения закрытого ключа

# ssh -i cloud.key [email protected]<ip-address> 
+0

Есть ли у нас аналогичная опция для команд cf?Я не уверен, потому что не вижу опции -ssh в ссылке [run] (https://docs.docker.com/reference/commandline/run/) ссылки на докер. – user3275095

+0

Я проверил документацию, я думаю, что у нас их нет для cf. Я попробую лед. – user3275095

+0

Да, вам нужно использовать команду ice для ssh. –

1

С docker run поддерживается, в комплекте с томами, вы можете рассмотреть adding a data volume.

Таким образом, вы можете изменить файл с хоста, и контейнер увидит изменение через установленный том.

+0

Используя тома, я могу обновить конфигурацию, но затем как перезапустить службу с контейнером? Или мне придется перезапустить контейнер? – user3275095

+0

Вы либо перезагрузите контейнер, либо ваш сервис, запущенный контейнером, будет иметь необходимые знания для мониторинга этого файла конфигурации и перезагрузки. – VonC

+0

Служба не такая умная :). Тогда мне придется перезапустить контейнер. Могу ли я использовать ssh в контейнере? – user3275095

Смежные вопросы