Создание Docker образа

Помечено: 

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #20632
    vladimirx
    Участник

    У меня возник вопрос как собрать docker образ из rapid scada (серверная часть)?
    При сборке возникает ошибка при выполнении команды «sudo apt install apt-transport-https dirmngr gnupg ca-certificates» :

    docker build . -t vladimirx/web_flutter_bin:scada
    [+] Building 3.0s (21/25)
    => [internal] load build definition from Dockerfile 0.0s
    => => transferring dockerfile: 2.10kB 0.0s
    => [internal] load .dockerignore 0.0s
    => => transferring context: 2B 0.0s
    => [internal] load metadata for docker.io/library/debian:latest 1.8s
    => [auth] library/debian:pull token for registry-1.docker.io 0.0s
    => [ 1/20] FROM docker.io/library/debian:latest@sha256:38988bd08d1a5534ae90bea146e199e2b7a8fca334e9a7afe5297a7c919e96ea 0.0s
    => [internal] load build context 0.1s
    => => transferring context: 110.88kB 0.1s
    => CACHED [ 2/20] RUN apt-get update 0.0s
    => CACHED [ 3/20] RUN apt-get install -y curl git wget unzip libgconf-2-4 gdb libstdc++6 libglu1-mesa fonts-droid-fallback lib32stdc++6 python3 0.0s
    => CACHED [ 4/20] RUN apt-get clean 0.0s
    => CACHED [ 5/20] COPY build/ /usr/local/bin/app/build 0.0s
    => CACHED [ 6/20] COPY server/ /usr/local/bin/app/server 0.0s
    => CACHED [ 7/20] COPY rapid_scada/scada/ /opt/scada 0.0s
    => CACHED [ 8/20] COPY rapid_scada/daemons/ etc/init.d/ 0.0s
    => CACHED [ 9/20] COPY rapid_scada/apache/ /usr/local/bin/app/rapid_scada/apache 0.0s
    => CACHED [10/20] WORKDIR /usr/local/bin/app 0.0s
    => CACHED [11/20] RUN [«chmod», «ugo+rwx», «/opt/scada/ScadaWeb/config»] 0.0s
    => CACHED [12/20] RUN [«chmod», «ugo+rwx», «/opt/scada/ScadaWeb/log»] 0.0s
    => CACHED [13/20] RUN [«chmod», «ugo+rwx», «/opt/scada/ScadaWeb/storage»] 0.0s
    => CACHED [14/20] RUN [«chmod», «+x», «/opt/scada/make_executable.sh»] 0.0s
    => CACHED [15/20] RUN [«/opt/scada/make_executable.sh»] 0.0s
    => ERROR [16/20] RUN [«apt», «install», «apt-transport-https», «dirmngr», «gnupg», «ca-certificates»] 1.0s
    ——
    > [16/20] RUN [«apt», «install», «apt-transport-https», «dirmngr», «gnupg», «ca-certificates»]:
    #21 0.252
    #21 0.252 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    #21 0.252
    #21 0.275 Reading package lists…
    #21 0.719 Building dependency tree…
    #21 0.813 Reading state information…
    #21 0.920 ca-certificates is already the newest version (20210119).
    #21 0.920 ca-certificates set to manually installed.
    #21 0.920 The following additional packages will be installed:
    #21 0.920 gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf
    #21 0.921 gpgsm libassuan0 libksba8 libnpth0 pinentry-curses
    #21 0.922 Suggested packages:
    #21 0.922 dbus-user-session libpam-systemd pinentry-gnome3 tor parcimonie xloadimage
    #21 0.922 scdaemon pinentry-doc
    #21 1.000 The following NEW packages will be installed:
    #21 1.000 apt-transport-https dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent
    #21 1.000 gpg-wks-client gpg-wks-server gpgconf gpgsm libassuan0 libksba8 libnpth0
    #21 1.001 pinentry-curses
    #21 1.006 0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
    #21 1.006 Need to get 7821 kB of archives.
    #21 1.006 After this operation, 15.8 MB of additional disk space will be used.
    #21 1.006 Do you want to continue? [Y/n] Abort.
    ——
    executor failed running [apt install apt-transport-https dirmngr gnupg ca-certificates]: exit code: 1

    Как сделать, чтобы команда не задавала вопросы (автоматически отвечала Y)?

    Исходный код файла Dockerfile:

    # Install dependencies
    FROM debian:latest AS build-env
    RUN apt-get update
    RUN apt-get install -y curl git wget unzip libgconf-2-4 gdb libstdc++6 libglu1-mesa fonts-droid-fallback lib32stdc++6 python3 psmisc
    RUN apt-get clean

    # Copy the app files
    COPY build/ /usr/local/bin/app/build
    COPY server/ /usr/local/bin/app/server

    COPY rapid_scada/scada/ /opt/scada
    COPY rapid_scada/daemons/ etc/init.d/
    COPY rapid_scada/apache/ /usr/local/bin/app/rapid_scada/apache

    WORKDIR /usr/local/bin/app

    # Scada

    RUN [«chmod», «ugo+rwx», «/opt/scada/ScadaWeb/config»]
    RUN [«chmod», «ugo+rwx», «/opt/scada/ScadaWeb/log»]
    RUN [«chmod», «ugo+rwx», «/opt/scada/ScadaWeb/storage»]

    RUN [«chmod», «+x», «/opt/scada/make_executable.sh»]
    RUN [«/opt/scada/make_executable.sh»]

    RUN [«apt», «install», «apt-transport-https», «dirmngr», «gnupg», «ca-certificates»]
    RUN [«apt-key», «adv», «—keyserver», «hkp://keyserver.ubuntu.com:80», «—recv-keys», «3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF»]

    RUN [«apt-key», «adv», «—keyserver», «hkp://keyserver.ubuntu.com:80», «—recv-keys», «3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF»]
    RUN [«echo», «\»deb https://download.mono-project.com/repo/debian stable-buster main\» | tee /etc/apt/sources.list.d/mono-official-stable.list»]

    RUN [«apt», «update»]

    RUN apt-get install mono-complete
    RUN service apache2 status
    RUN apt-get install apache2

    RUN apt-get install libapache2-mod-mono mono-apache-server4

    RUN ln -s /opt/scada/ScadaWeb /var/www/html/scada

    COPY rapid_scada/apache/ /etc/apache2/sites-available
    RUN a2ensite scada.conf

    RUN /opt/scada/svc_install.sh

    #20633
    MikhailMikhail
    Модератор

    Тема про образ. Может быть автор темы @manjey73 сможет что-то посоветовать.

    • Этот ответ был изменен 4 недели, 1 день назад от MikhailMikhail.
    #20634
    MikhailMikhail
    Модератор

    Хотя указанная выше тема не касается docker, в ней речь идёт об образе диска.
    В общем, кто делал что-то подобное, напишите.

    #20636
    MikhailMikhail
    Модератор

    Как сделать, чтобы команда не задавала вопросы (автоматически отвечала Y)?

    sudo apt-get install -y package-name

    • Этот ответ был изменен 4 недели, 1 день назад от MikhailMikhail.
    #20638
    manjey73
    Участник

    @vladimirx Если честно, я слабо представляю, что такое docker 🙂

    Я так понимаю, это образ Linux, который можно запустить под Windows в режиме виртуализации?

    sudo apt install apt-transport-https dirmngr gnupg ca-certificates — это команда получения сертификата для установки MONO

    Вы используете конкретную версию ядра в docker?

    Есть еще момент, MONO при установке с сайта СОБИРАЕТ часть файлов, то есть оно там не просто копируется…. Может стоит создать Docker, а потом загрузиться в него и выполнить всю процедуру сборки и установки Mono и потом уже Scada ?

    • Этот ответ был изменен 4 недели, 1 день назад от manjey73.
Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Вы должны авторизироваться для ответа в этой теме.