Вы можете создать свой собственный файл OPML, выполнив следующую процедуру:
Сделайте пустой файл и назовите его «opml.xml» (или что угодно, но не забудьте использовать расширение «.xml» для файла. Откройте файл, используя ваш любимый редактор. (Я предпочитаю использование синей рыбы, но вы можете использовать gedit для распознавания кода и выделения). Напишите код, как в этом примере:(к сожалению, я не могу разместить здесь код, поэтому вместо этого я помещаю изображение, но вы можете получить доступ к примеру моего текущего файла opml в следующей ссылке: пример файла opml
Затем сохраните изменения в файле и попробуйте для импорта этого файла вместо прямого XML-файла rss (в вашем случае iGoogle-settings.xml)
Что нужно учитывать:
Сделать пустой файл и называть его " opml.xml "(или что угодно, но не забудьте использовать расширение« .xml »для файла. xmlUrl должен быть действительным адресом. Если вы используете этот пример для« одноразового импорта », вы может использовать локальные места, используя только имя файла, в этом случае оба файла opml и rss-источник должны быть помещены в одно и то же место. Откройте файл, используя ваш любимый редактор. (Я предпочитаю использование синей рыбы, но вы можете использовать gedit для распознавания кода и выделения).У меня нет разума в теме, поэтому я, вероятно, отредактирую это в чтобы добавить дополнительную информацию по запросу.
Надеюсь, что создание этого файла поможет вам сделать то, что вы пожелаете.
Удачи!
Начиная с докера 1.3.
docker exec -it <containerIdOrName> bash
В принципе, если контейнер-докер был запущен с помощью команды / bin / bash, вы можете получить к нему доступ с помощью attach, если нет, то вам нужно выполнить команду для создания экземпляра bash внутри контейнера, используя exec
Кроме того, чтобы выйти из bash, не покидая bash, запущенный в процессе изгоев
exit
Jip, что просто.
Примечание: вы должны стараться не запустите команды как sudo, скорее добавьте своего пользователя в группу docker и просто запустите нормально.
Хотя автор вопроса специально сказал, что они заинтересованы в запущенном контейнере, также стоит отметить, что если контейнер не запущен, но вы хотите запустить его, чтобы выкачать, вы можете запустить:
docker run -i -t --entrypoint /bin/bash <imageID>
Попробуйте следующее:
sudo docker run -i -t webserver /bin/bash
Источник: https://docs.docker.com/articles/basics/#running-an-interactive-shell
На основании ответа @ Timur я создал следующий удобный скрипт
Положите файл docker-ssh в ваш $PATH со следующим содержимым
[ f1]Примечание. В некоторых контейнерах нет bash, но ash, sh и т. д. В этих случаях bash следует заменить в приведенном выше сценарии.
Если у вас есть один запущенный экземпляр, просто запустите
$> docker-ssh
В противном случае укажите ему парметер-идентификатор докеры, который вы получите из docker ps (первый col)
$> docker-ssh 50m3r4nd0m1d
Я создал контейнерный SSH-сервер, который предоставляет возможности SSH для любого запущенного контейнера. Вам не нужно менять контейнер. Единственное требование состоит в том, что у контейнера есть bash.
Если у вас есть контейнер с именем «web-server1». Следующая команда запуска docker запустит второй контейнер, который предоставит SSH для первого контейнера.
docker run -ti --name sshd-web-server1 -e CONTAINER=web-server1 -p 2222:22 \
-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker \
jeroenpeeters/docker-ssh
Для получения дополнительных указателей, https://github.com/jeroenpeeters/docker-ssh[!d2 ]
@jpetazzo имеет потрясающее сообщение об этой теме. Короткий ответ будет заключаться в использовании nsenter:
PID=$(docker inspect --format {{.State.Pid}} <container_name_or_ID>)
nsenter --target $PID --mount --uts --ipc --net --pid
PS: Не забудьте проверить обсуждение в комментариях сообщения ...
Приветствия
Если у контейнера не установлен bash (например, consul), вы можете попробовать sh:
docker exec -it CONTAINER /bin/sh
Или сначала искать оболочки в / bin:
docker export CONTAINER|tar -t|egrep ^bin/
Вы также можете предоставить Docker Container маршрутизируемый IP-адрес с помощью Pipework и после этого SSH в машину с этим новым IP.
Это будет более «традиционным» (ssh), вместо использования например, команда docker attach, и в конечном итоге сделает ее более «переносимой» в разных системах и версиях.
Чтобы перейти в запущенный контейнер, введите это:
docker exec -t -i container_name /bin/bash
, если контейнер остановлен, как, например, контейнер только для данных, тогда хорошим решением является запуск контейнера сбрасывания каждый раз, когда вы хотите подключиться к контейнеру данных. В этом случае сам контейнер данных может быть полностью пустым, так как временный контейнер будет иметь ОС.
$ docker run --rm --volumes-from mydata -it ubuntu bash
root@645045d3cc87:/# ls /mydata
root@645045d3cc87:/# touch /mydata/foo
root@645045d3cc87:/# exit
exit
Только для информации. Если вам нужно войти в простой контейнер, который не является демоном, вам необходимо использовать следующие команды:
docker start {id}
docker attach {id}
Несколько раз это будет удобно, если вы сможете использовать ssh-in docker container, особенно во время разработки. Следующий докер позволяет ssh-into контейнеру использовать закрытый ключ https://hub.docker.com/r/devkhadka/ubuntuwithssh/. Gist of Dockerfile - https://gist.github.com/devbkhadka/98792f7bca57f9778793b2db758b3d07