Запуск OpenSSH в контейнере Alpine Docker

Быть:

Я установил OpenSSH, и теперь я хочу запустить его, как описано в документации , запустив /etc/init.d/sshd start. Однако это не начинается:

 / # /etc/init.d/sshd start
 /bin/ash: /etc/init.d/sshd: not found

Мысли?

PS

/ # ls -la /etc/init.d/sshd 
-rwxr-xr-x    1 root     root          2622 Jan 14 20:48 /etc/init.d/sshd

Содержимое /etc/init.d/sshd:

    #!/sbin/openrc-run
    # Copyright 1999-2015 Gentoo Foundation
    # Distributed under the terms of the GNU General Public License v2
    # $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6.4,v 1.5 2015/05/04 02:56:25 vapier Exp $

    description="OpenBSD Secure Shell server"
    description_checkconfig="Verify configuration file"
    description_reload="Reload configuration"

    extra_commands="checkconfig"
    extra_started_commands="reload"

    : ${SSHD_CONFDIR:=/etc/ssh}
    : ${SSHD_CONFIG:=${SSHD_CONFDIR}/sshd_config}
    : ${SSHD_PIDFILE:=/var/run/${SVCNAME}.pid}
    : ${SSHD_BINARY:=/usr/sbin/sshd}

    depend() {
        use logger dns
        if [ "${rc_need+set}" = "set" ] ; then
            : # Do nothing, the user has explicitly set rc_need
        else
            local x warn_addr
            for x in $(awk '/^ListenAddress/{ print $2 }' "$SSHD_CONFIG" 2>/dev/null) ; do
                case "${x}" in
                    0.0.0.0|0.0.0.0:*) ;;
                    ::|\[::\]*) ;;
                    *) warn_addr="${warn_addr} ${x}" ;;
                esac
            done
            if [ -n "${warn_addr}" ] ; then
                need net
                ewarn "You are binding an interface in ListenAddress statement in your sshd_config!"
                ewarn "You must add rc_need=\"net.FOO\" to your /etc/conf.d/sshd"
                ewarn "where FOO is the interface(s) providing the following address(es):"
                ewarn "${warn_addr}"
            fi
        fi
    }

    checkconfig() {
        if [ ! -d /var/empty ] ; then
            mkdir -p /var/empty || return 1
        fi

        if [ ! -e "${SSHD_CONFIG}" ] ; then
            eerror "You need an ${SSHD_CONFIG} file to run sshd"
            eerror "There is a sample file in /usr/share/doc/openssh"
            return 1
        fi

        if ! yesno "${SSHD_DISABLE_KEYGEN}"; then
            ssh-keygen -A || return 1
        fi

        [ "${SSHD_PIDFILE}" != "/var/run/sshd.pid" ] \
            && SSHD_OPTS="${SSHD_OPTS} -o PidFile=${SSHD_PIDFILE}"
        [ "${SSHD_CONFIG}" != "/etc/ssh/sshd_config" ] \
            && SSHD_OPTS="${SSHD_OPTS} -f ${SSHD_CONFIG}"

        "${SSHD_BINARY}" -t ${SSHD_OPTS} || return 1
    }

    start() {
        checkconfig || return 1

        ebegin "Starting ${SVCNAME}"
        start-stop-daemon --start --exec "${SSHD_BINARY}" \
            --pidfile "${SSHD_PIDFILE}" \
            -- ${SSHD_OPTS}
        eend $?
    }

    stop() {
        if [ "${RC_CMD}" = "restart" ] ; then
            checkconfig || return 1
        fi

        ebegin "Stopping ${SVCNAME}"
        start-stop-daemon --stop --exec "${SSHD_BINARY}" \
            --pidfile "${SSHD_PIDFILE}" --quiet
        eend $?

        if [ "$RC_RUNLEVEL" = "shutdown" ]; then
            _sshd_pids=$(pgrep "${SSHD_BINARY##*/}")
            if [ -n "$_sshd_pids" ]; then
                ebegin "Shutting down ssh connections"
                kill -TERM $_sshd_pids >/dev/null 2>&1
                eend 0
            fi
        fi
    }

    reload() {
        checkconfig || return 1
        ebegin "Reloading ${SVCNAME}"
        start-stop-daemon --signal HUP \
            --exec "${SSHD_BINARY}" --pidfile "${SSHD_PIDFILE}"
        eend $?
    }
ПСИ:

Контейнер не является полностью установленной средой. Официальный документ для этого установлен Alpine на какой-то машине. При включенном питании загрузите службы и т. Д., Которых нет в контейнере.

Таким образом, ничего внутри /etc/init.d/нельзя использовать непосредственно в контейнере, который используется службой загрузки (например, systemd или rc * Alpine). Вот почему вы получили сообщения об ошибках, потому что rc*не установлен в контейнере.

Что вам нужно сделать, это запустить sshd вручную. Вы можете взглянуть на пример ниже:

https://hub.docker.com/r/danielguerra/alpine-sshd/~/dockerfile/

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Установка OpenSSH на контейнер Alpine Docker

Как отлаживать неработающий сертификат RSA без пароля в OpenSSH на Alpine?

Docker Alpine выполнить команду от имени другого пользователя

Запуск оболочки в контейнере Docker Alpine

Установка и использование переменной среды в docker alpine в одной строке в оболочке

Почему на первом этапе создания образа контейнера Docker в качестве источника используется базовый образ, который, как мне кажется, представляет собой операционную систему, подобную ALPINE?

«Каталог или файл не существует» при клонировании репо и перемещении файлов в alpine docker на кубернетах

Не удается запустить приложение в контейнере alpine docker

Как я могу установить Docker внутри контейнера alpine?

Ошибка при запуске теста на селен в контейнере alpine docker

Как добавить доверенный корневой ЦС в Docker alpine

Docker / alpine: как установить nodeJS 4.8.4 на образ alpine

Установите Docker в Alpine Docker

Как создать статический двоичный файл Go для образа Docker Alpine?

Как установить драйверы ODBC для MariaDB в Docker / Alpine

Как запустить электрон в образе alpine docker с помощью Testcafe?

Как запустить сценарий Bash в контейнере Alpine Docker?

Как заменить вывод команды в строку и добавить ее в файл (в Alpine Linux, работающем в Docker)

Docker Alpine: ошибка при загрузке модуля MySQLdb

пакеты apk python не устанавливаются в образе Alpine Docker

Installing pyarrow in alpine docker

ОШИБКА: невыполнимые ограничения при установке PostGIS на образ Alpine Docker

Как развернуть веб-приложение Laravel в Alpine Linux с помощью Docker?

Установите драйвер ODBC в контейнер Alpine Linux Docker

Установка NumPy на Docker Alpine

Установленный бинарный файл Go не найден в пути на Alpine Linux Docker

Ошибка [Not Found] в контейнере Alpine Docker, хотя она, безусловно, существует

Docker - контейнер Alpine Elixir имеет неудовлетворительные ограничения

Docker построить php на образе alpine с поддержкой curl не удалось. Как я могу это решить?

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  5. 5

    How to click an array of links in puppeteer?

  6. 6

    Merging legends in plotly subplot

  7. 7

    ViewPager2 мигает / перезагружается при смахивании

  8. 8

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  9. 9

    How to normalize different curves drawn with geom = "step" when using stat_summary

  10. 10

    无法通过Vue在传单中加载pixiOverlay

  11. 11

    как я могу удалить vue cli 2?

  12. 12

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  13. 13

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  14. 14

    Elasticsearch - Нечеткий поиск не дает предложения

  15. 15

    Single legend for Plotly subplot for line plots created from two data frames in R

  16. 16

    Описание моего типа Parser как серии преобразователей монад

  17. 17

    Как изменить цвета запятых и скобок в VS Code

  18. 18

    Сброс значения <input type = "time"> в Firefox

  19. 19

    Почему прокси в vue.config.js 404

  20. 20

    Как установить параметр -noverify с gradle ktx для робоэлектрических тестов Android?

  21. 21

    В чем разница между ifstream, ofstream и fstream?

популярныйтег

файл