Docker -компонуется как Systemd

Во-первых, убедитесь, что httpd работает с sudo systemctl httpd status. Прежде чем мы случайно добавим повторяющееся правило, давайте проверим правила iptables с помощьюiptables -L

Чтобы убедиться, что мы принимаем все входящие http, давайте добавим ACCEPT в нашу таблицу

sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Если это не решит проблему, обязательно проверьте настройки Apache, указанные в /etc/apache2/apache2.conf. У нас должна быть базовая модель безопасности внизу файла conf. Например, вот что найдено в моем

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>

        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

В ports.conf убедитесь, что мы прослушиваем порт 80 на всех устройствах (на данный момент, пока мы не настроим вас)Listen *:80

Если ни один из них не вызывает проблемы, убедитесь, что apache2 также работает

0
02.11.2020, 14:45
1 ответ

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

[Unit]
Description=...

[Service]

WorkingDirectory=/opt/tsc-docker

RemainAfterExit=false
ExecStart=/usr/bin/docker-compose up -d --remove-orphans
Type=oneshot

[Install]
WantedBy=multi-user.target

Это позволит вам запускать службу несколько раз, так как после завершения работы ExecStart служба возвращается в неактивное состояние. Обработка этого факта была бы правильным способом сделать это, поскольку на странице руководства systemd указано , что вы не можете запускать несколько команд запуска в останавливаемой службе -выстрела.

Грязный обходной путь, позволяющий по-прежнему использовать ExecStop, может заключаться в использовании функции ExecReload, например

[Unit]
Description=...

[Service]

WorkingDirectory=/opt/tsc-docker

RemainAfterExit=true
ExecStart=/usr/bin/docker-compose up -d --remove-orphans
ExecReload=/usr/bin/docker-compose up -d --remove-orphans
ExecStop=/usr/bin/docker-compose down
Type=oneshot

[Install]
WantedBy=multi-user.target

Поскольку это единственный способ выполнить отдельную команду, пока ваша служба все еще считается активной. Затем вы можете вызвать это, используя

 systemctl reload TscDocker
2
18.03.2021, 22:53

Теги

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