При запуске какого-либо проекта с использованием docker-compose можно наткнутся на ошибку unknown flag: –iidfile. Сразу скажу, что решение этой проблемы в моём случае было радикальным.

Решение unknown flag: –iidfile

Скорее всего вы установили старую версию docker, да именно docker а не docker-compose. Например, если вы ставите на CentOS7 из репозитория по умолчанию.

Чтобы решить эту проблему нужно сперва удалить docker. Обратите внимание что при удалении остановятся все ваши запущенные контейнеры.

CentOS

  • Удаляем установленный docker
    sudo yum remove docker \
                    docker-client \
                    docker-client-latest \
                    docker-common \
                    docker-latest \
                    docker-latest-logrotate \
                    docker-logrotate \
                    docker-engine
    
  • Добавляем репозиторий
    sudo yum install -y yum-utils
    sudo yum-config-manager \
      --add-repo \
      https://download.docker.com/linux/centos/docker-ce.repo
    
  • Ставим docker-ce
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker
sudo systemctl start docker

Ubuntu

  • Удаляем установленный docker
sudo apt-get remove docker docker-engine docker.io containerd runc
  • Добавляем репозиторий
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • Ставим docker-ce
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Вы всегда можете найти инструкцию по установке docker-ce на той или иной ОС на сайте docker.com.