Как создать символическую ссылку или псевдоним экземпляра шаблона systemd?

apt install -y unattended-upgrades sshguard curl wget git ansible zip unzip tree mc lamp-server^ && apt install python-certbot-apache 
1
12.01.2021, 01:21
2 ответа

Как насчет того, чтобы принять эту команду как есть и просто использовать псевдоним bash для вашей командной строки?:

Файл~/.bash_aliases

alias nginx-stop="systemctl stop docker-compose@nginx"
alias nginx-start="systemctl start docker-compose@nginx"
alias nextcloud-stop="systemctl stop docker-compose@nextcloud"
alias nextcloud-start="systemctl start docker-compose@nextcloud"
alias diaspora-stop="systemctl stop docker-compose@diaspora"
alias diaspora-start="systemctl start docker-compose@diaspora"
0
18.03.2021, 22:37

Следующий обходной путь не является родным для systemd -, но создает служебные файлы systemd с использованием Rakefile .

Обходной путь

Предполагается, что ruby ​​установлен в хост-системе.

  1. Убедитесь, что /etc/systemd/system/docker-compose@.serviceприсутствует. В этом файле %iиспользуется как переменная для имени службы, например. "нгинкс".

  2. Создайте Rakefileв/var/docker-compose/:

    # /var/docker-compose/Rakefile
    
    TEMPLATE_SERVICE_FILE = "/etc/systemd/system/docker-compose@.service"
    
    task :systemd_units do
      print "Creating systemd units:\n"
    
      Dir.glob("/var/docker-compose/*/docker-compose.yml").each do |compose_file|
        service_name = compose_file.split("/")[-2]
        unit_file = "/etc/systemd/system/#{service_name}.service"
        unit_file_content = File.read TEMPLATE_SERVICE_FILE
        unit_file_content.gsub! "%i", service_name
        File.write unit_file, unit_file_content
        print "#{unit_file}\n"
      end
    end
    
  3. Запустите rakeиз каталога /var/docker-compose/.

Это явно создаст отдельный юнит-файл для каждой службы, например. /etc/systemd/system/nginx.serviceна основе файла шаблона /etc/systemd/system/docker-compose@.service.

Плюсы:

  • systemctl start nginxработает
  • systemctl enable nginxработает
  • Завершающие работы с вкладками

Минусы:

  • Необходимо повторно -запустить rakeпри изменении файла шаблона или добавлении/удалении сервисов из каталога компоновки docker -.
0
18.03.2021, 22:37

Теги

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